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
|
||||
/tts
|
||||
/deps
|
||||
/blueprints
|
||||
/home-assistant.log
|
||||
# Generated files
|
||||
/groups.yaml
|
||||
/configuration.yaml
|
||||
/home-assistant_v2.db
|
||||
/secrets.yaml
|
||||
/www/community/
|
||||
/custom_components/hacs
|
||||
/custom_components/scheduler
|
||||
/custom_components/pyscript
|
||||
/themes
|
||||
/.storage/hacs/*.hacs
|
|
@ -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": {
|
||||
"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": {
|
||||
"areas": [
|
||||
{
|
||||
"id": "46ebd507f8f348508653f61054f67eb0",
|
||||
"name": "Arbeitszimmer Martin"
|
||||
},
|
||||
{
|
||||
"id": "93728f2df4d94517803b87de4d4028bb",
|
||||
"name": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"id": "e58ae8bf5c7847af89a727d7949016f0",
|
||||
"name": "K\u00fcche"
|
||||
}
|
||||
]
|
||||
},
|
||||
"key": "core.area_registry",
|
||||
"version": 1
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "core.area_registry",
|
||||
"data": {
|
||||
"areas": [
|
||||
{
|
||||
"name": "Arbeitszimmer",
|
||||
"id": "46ebd507f8f348508653f61054f67eb0",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Wohnbereich",
|
||||
"id": "93728f2df4d94517803b87de4d4028bb",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Küche",
|
||||
"id": "e58ae8bf5c7847af89a727d7949016f0",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Rest",
|
||||
"id": "rest",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Schlafzimmer",
|
||||
"id": "schlafzimmer",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Garten",
|
||||
"id": "garten",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Dachgeschoss",
|
||||
"id": "dachgeschoss",
|
||||
"picture": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,14 +1,17 @@
|
|||
{
|
||||
"data": {
|
||||
"elevation": 368,
|
||||
"external_url": "https://ha.bauer.tech",
|
||||
"internal_url": null,
|
||||
"latitude": 49.369477,
|
||||
"location_name": "MyHome",
|
||||
"longitude": 10.9831468,
|
||||
"time_zone": "Europe/Berlin",
|
||||
"unit_system": "metric"
|
||||
},
|
||||
"key": "core.config",
|
||||
"version": 1
|
||||
"version": 1,
|
||||
"minor_version": 3,
|
||||
"key": "core.config",
|
||||
"data": {
|
||||
"elevation": 368,
|
||||
"external_url": "https://ha.bauer.tech",
|
||||
"internal_url": null,
|
||||
"latitude": 49.369477,
|
||||
"location_name": "MyHome",
|
||||
"longitude": 10.9831468,
|
||||
"time_zone": "Europe/Berlin",
|
||||
"unit_system": "metric",
|
||||
"unit_system_v2": "metric",
|
||||
"language": "de"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"data": {
|
||||
"uuid": "dbfa2dc8b3aa4f03a3230c64d4faa7a4"
|
||||
},
|
||||
"key": "core.uuid",
|
||||
"version": 1
|
||||
}
|
|
@ -1,12 +1,16 @@
|
|||
{
|
||||
"data": {
|
||||
"core": {
|
||||
"showAdvanced": true
|
||||
},
|
||||
"language": {
|
||||
"language": "de"
|
||||
}
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "frontend.user_data_2ffcb10d3db745b396789364fdef72ec",
|
||||
"data": {
|
||||
"core": {
|
||||
"showAdvanced": true
|
||||
},
|
||||
"key": "frontend.user_data_2ffcb10d3db745b396789364fdef72ec",
|
||||
"version": 1
|
||||
"language": {
|
||||
"language": "de",
|
||||
"number_format": "language",
|
||||
"time_format": "language",
|
||||
"first_weekday": "language"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
"key": "lovelace",
|
||||
"data": {
|
||||
"config": {
|
||||
"title": "\u00dcbersicht",
|
||||
"views": [
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.living_area"
|
||||
],
|
||||
"image": "/local/img/living_area_16_9.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.wohnbereich_orange"
|
||||
},
|
||||
{
|
||||
"color": "#f2e616",
|
||||
"name": "Hell",
|
||||
"scene": "scene.wohnbereich_hell"
|
||||
},
|
||||
{
|
||||
"color": "#0050ff",
|
||||
"name": "Blau",
|
||||
"scene": "scene.wohnbereich_blau_grun"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.wohnzimmer_deckenlampe",
|
||||
"name": "Wohnzimmer Decke"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_west",
|
||||
"name": "Esstisch"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_mitte",
|
||||
"name": "Esszimmer Mitte"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_deckenlampe",
|
||||
"name": "K\u00fcche"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "WZ Fenster",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_terrassentur_rollo",
|
||||
"name": "Terrassent\u00fcr",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kuche_fenster_rollo",
|
||||
"name": "K\u00fcche",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.esszimmer_fenster_rollo",
|
||||
"name": "Esszimmer",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.gang_licht",
|
||||
"name": "Gang Licht"
|
||||
},
|
||||
{
|
||||
"entity": "light.gang_bogen",
|
||||
"name": "Gang Bogen"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entity": "media_player.kitchenpi",
|
||||
"hide": {
|
||||
"power_state": false,
|
||||
"shuffle": false,
|
||||
"source": true,
|
||||
"volume": false
|
||||
},
|
||||
"idle_view": {
|
||||
"when_idle": true,
|
||||
"when_paused": true,
|
||||
"when_standby": true
|
||||
},
|
||||
"shortcuts": {
|
||||
"columns": 4,
|
||||
"label": "Playlists",
|
||||
"list": [
|
||||
{
|
||||
"icon": "mdi:alpha-r",
|
||||
"id": "http://dg-br-http-dus-dtag-cdn.cast.addradio.de/br/b5aktuell/live/mp3/128/stream.mp3?ar-distributor=f0a1",
|
||||
"name": "B5",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:alpha-b",
|
||||
"id": "spotify:playlist:37i9dQZF1DX6G7arXBXa3A",
|
||||
"name": "BigBand",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:alpha-j",
|
||||
"id": "spotify:playlist:37i9dQZF1DX4wta20PHgwo",
|
||||
"name": "LateNightJazz",
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "custom:mini-media-player"
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.tasmota01",
|
||||
"icon": "mdi:led-strip-variant",
|
||||
"name": "Balkon Lichterkette"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota02",
|
||||
"icon": "mdi:star-face",
|
||||
"name": "Arbeitszimmer Stern"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota03",
|
||||
"icon": "mdi:star-four-points",
|
||||
"name": "Eingang Stern"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_1",
|
||||
"icon": "mdi:star",
|
||||
"name": "K\u00fcche Stern"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_2",
|
||||
"icon": "mdi:candle",
|
||||
"name": "Wohnzimmer"
|
||||
}
|
||||
],
|
||||
"title": "Weihnachten",
|
||||
"state_color": true,
|
||||
"icon": "mdi:pine-tree"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:sofa",
|
||||
"title": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.bedroom"
|
||||
],
|
||||
"image": "/local/img/bedroom.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#eee",
|
||||
"icon": "mdi:shoe-print",
|
||||
"name": "Bettlicht Dunkel",
|
||||
"scene": "scene.schlafzimmer_bettlicht_dunkel"
|
||||
},
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.schlafzimmer_orange"
|
||||
},
|
||||
{
|
||||
"color": "#f35421",
|
||||
"name": "Rot",
|
||||
"scene": "scene.schlafzimmer_rot"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.schlafzimmer_ganz_hell"
|
||||
},
|
||||
{
|
||||
"color": "#2eacd7",
|
||||
"name": "Blau",
|
||||
"scene": "scene.schlafzimmer_blau"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"artwork": "cover",
|
||||
"entity": "media_player.bedroompi",
|
||||
"hide": {
|
||||
"power_state": false,
|
||||
"shuffle": false,
|
||||
"source": true,
|
||||
"volume": false
|
||||
},
|
||||
"icon": "mdi:music",
|
||||
"shortcuts": {
|
||||
"buttons": [
|
||||
{
|
||||
"icon": "mdi:sleep",
|
||||
"id": "Good Night",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:power-sleep",
|
||||
"id": "Good Night Long",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:heart",
|
||||
"id": "Bar Classics",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:weather-lightning-rainy",
|
||||
"id": "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd",
|
||||
"type": "music"
|
||||
}
|
||||
],
|
||||
"columns": 4,
|
||||
"label": "Playlists",
|
||||
"list": [
|
||||
{
|
||||
"icon": "mdi:waves",
|
||||
"id": "spotify:playlist:37i9dQZF1DX9if5QDLdzCa",
|
||||
"name": "Wellen",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:library-music-outline",
|
||||
"id": "spotify:playlist:37i9dQZF1DX7heGeZ10YDi",
|
||||
"name": "Different Sleeping List",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:saxophone",
|
||||
"id": "spotify:playlist:37i9dQZF1DX4wta20PHgwo",
|
||||
"name": "Late NightJazz",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:account-heart",
|
||||
"id": "spotify:playlist:2AmjhSAm6iI0qrXXhQyHgk",
|
||||
"name": "Romantic Jazz",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:violin",
|
||||
"id": "spotify:playlist:37i9dQZF1DX8Dd9bxD1WYH",
|
||||
"name": "Klassik zum Entspannen",
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "custom:mini-media-player"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "scene.schlafzimmer_stillen",
|
||||
"icon": "mdi:baby-bottle",
|
||||
"name": "Stillen"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "light.bett_martin",
|
||||
"icon": "mdi:sleep",
|
||||
"name": "Bett Martin"
|
||||
},
|
||||
{
|
||||
"entity": "light.bett_rebecca",
|
||||
"icon": "mdi:sleep",
|
||||
"name": "Bett Rebecca"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_schrank",
|
||||
"icon": "mdi:trello",
|
||||
"name": "Schrank"
|
||||
},
|
||||
{
|
||||
"entity": "cover.schlafzimmer_rollo_gross",
|
||||
"name": "Rollo Gro\u00df",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.schlafzimmer_rollo_klein",
|
||||
"name": "Rollo Klein",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "automation.wecker_licht_an",
|
||||
"name": "Martin Wecker Licht an"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.martin_handy_alarm_sensor",
|
||||
"format": "relative",
|
||||
"name": "Wecker"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.schlafzimmer_dht22_temperatur",
|
||||
"name": "Temperatur"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.schlafzimmer_dht22_luftfeuchtigkeit",
|
||||
"name": "Luftfeuchtigkeit"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"card": {
|
||||
"title": "Lichter die noch an sind",
|
||||
"type": "entities"
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"entity": "group.hallway",
|
||||
"icon": "mdi:door-closed",
|
||||
"name": "Gang"
|
||||
},
|
||||
{
|
||||
"entity": "group.living_area",
|
||||
"icon": "mdi:sofa",
|
||||
"name": "Wohnzimmer/Esszimmer"
|
||||
},
|
||||
{
|
||||
"entity": "group.office_martin",
|
||||
"icon": "mdi:monitor-multiple",
|
||||
"name": "Martins B\u00fcro"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_1",
|
||||
"icon": "mdi:palm-tree",
|
||||
"name": "Palmenlicht"
|
||||
},
|
||||
{
|
||||
"entity": "group.outside",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Drau\u00dfen"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_2",
|
||||
"name": "Balkon"
|
||||
}
|
||||
],
|
||||
"show_empty": false,
|
||||
"state_filter": [
|
||||
"on"
|
||||
],
|
||||
"type": "entity-filter"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:bed-empty",
|
||||
"path": "schlafzimmer",
|
||||
"title": "Schlafzimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.office"
|
||||
],
|
||||
"image": "/local/img/office_martin_16_9.jpg",
|
||||
"name": "Arbeitszimmer",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.arbeitszimmer_orange"
|
||||
},
|
||||
{
|
||||
"color": "#2eacd7",
|
||||
"name": "Blau",
|
||||
"scene": "scene.arbeitszimmer_blau_grun"
|
||||
},
|
||||
{
|
||||
"color": "#fff",
|
||||
"name": "Hell",
|
||||
"scene": "scene.arbeitszimmer_hell"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.arbeitszimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_stehlampe_oben",
|
||||
"name": "Stehlampe Oben"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_stehlampe_unten",
|
||||
"name": "Stehlampe Unten"
|
||||
},
|
||||
{
|
||||
"entity": "cover.arbeitszimmer_rollo",
|
||||
"name": "Rollo",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.arbeitszimmer_bewegungsmelder_bewegung",
|
||||
"format": "relative",
|
||||
"name": "Bewegung",
|
||||
"secondary_info": "last-changed"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:monitor-multiple",
|
||||
"path": "arbeitszimmer",
|
||||
"title": "Arbeitszimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.kids_room"
|
||||
],
|
||||
"image": "/local/img/kinderzimmer.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#ffffff",
|
||||
"icon": "mdi:weather-night",
|
||||
"name": "Wickel nachts",
|
||||
"scene": "scene.kinderzimmer_wickeln_nachts"
|
||||
},
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Normal",
|
||||
"scene": "scene.kinderzimmer_normal"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.kinderzimmer_hell"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.kinderzimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.kinderzimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kinderzimmer_rollo",
|
||||
"name": "Rollo Klein",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota06",
|
||||
"name": "Kamera Schlafzimmer",
|
||||
"icon": "mdi:video"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota07",
|
||||
"name": "F\u00f6n Schlafzimmer",
|
||||
"icon": "mdi:fan"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"aspect_ratio": "0%",
|
||||
"camera_image": "camera.babycamera_mainstream",
|
||||
"entity": "camera.babycamera_mainstream",
|
||||
"image": "https://demo.home-assistant.io/stub_config/bedroom.png",
|
||||
"name": "BabyCam",
|
||||
"type": "picture-entity"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:star-face",
|
||||
"panel": false,
|
||||
"path": "kinderzimmer",
|
||||
"title": "Kinderzimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.bathroom"
|
||||
],
|
||||
"image": "/local/img/bathroom2.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Normal",
|
||||
"scene": "scene.bad_normal"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.bad_hell"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:duck",
|
||||
"name": "Baden",
|
||||
"scene": "scene.bad_baden"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.bad_licht",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "switch.bad_lufter",
|
||||
"icon": "mdi:emoticon-poop",
|
||||
"name": "L\u00fcfter"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:fish",
|
||||
"path": "bad-and-co",
|
||||
"title": "Bad & Co"
|
||||
}
|
||||
]
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "lovelace",
|
||||
"data": {
|
||||
"config": {
|
||||
"kiosk_mode": {
|
||||
"mobile_settings": {
|
||||
"hide_overflow": true
|
||||
}
|
||||
},
|
||||
"title": "Übersicht",
|
||||
"views": [
|
||||
{
|
||||
"title": "Übersicht",
|
||||
"path": "ubersicht",
|
||||
"icon": "mdi:home",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"type": "conditional",
|
||||
"conditions": [
|
||||
{
|
||||
"entity": "light.wohnbereich_lichter",
|
||||
"state": "on"
|
||||
}
|
||||
],
|
||||
"row": {
|
||||
"entity": "light.wohnbereich_deckenlampen"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "conditional",
|
||||
"conditions": [
|
||||
{
|
||||
"entity": "sun.sun",
|
||||
"state": "above_horizon"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"state": "open"
|
||||
}
|
||||
],
|
||||
"row": {
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "WZ Fenster Rollo",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"type": "entity-filter",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_lircd"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_dht22_sensing"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_lircd"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_dht22_sensing"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_lircd"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_sispmctl"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_irserver"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_logitechmediaserver"
|
||||
}
|
||||
],
|
||||
"state_filter": [
|
||||
"off"
|
||||
],
|
||||
"show_empty": false,
|
||||
"card": {
|
||||
"title": "Non-running services"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "cover.kinderzimmer_rollo",
|
||||
"name": "Kinderzimmer Rollo",
|
||||
"secondary_info": "none"
|
||||
},
|
||||
{
|
||||
"type": "custom:template-entity-row",
|
||||
"name": "{% set level = state_attr(\"cover.kinderzimmer_rollo\",\"current_position\") %} {% if level < 20 %}Kinderzimmer Rollo ist zu seit: {{ (as_timestamp(now()) - as_timestamp(states.cover.kinderzimmer_rollo.last_changed)) | timestamp_custom(\"%H:%M\", false) }} {% else %}Kinderzimmer Rollo ist {%if level < 100 %} ({{level}}/100) {%endif%} offen {% endif %}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "tile",
|
||||
"entity": "light.arbeitszimmer_oben_fluter_hinten",
|
||||
"show_entity_picture": false,
|
||||
"features": [
|
||||
{
|
||||
"type": "light-brightness"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "tile",
|
||||
"entity": "light.arbeitszimmer_oben_fluter_vorne",
|
||||
"features": [
|
||||
{
|
||||
"type": "light-brightness"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Wetter",
|
||||
"path": "wetter",
|
||||
"icon": "mdi:weather-partly-cloudy",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"type": "weather-forecast",
|
||||
"entity": "weather.openweathermap",
|
||||
"show_forecast": true,
|
||||
"name": " "
|
||||
},
|
||||
{
|
||||
"type": "iframe",
|
||||
"url": "https://embed.windy.com/embed2.html?lat=49.369&lon=10.984&detailLat=49.369&detailLon=10.984&width=650&height=450&zoom=11&level=surface&overlay=rain&product=ecmwf&menu=&message=true&marker=true&calendar=now&pressure=&type=map&location=coordinates&detail=&metricWind=km%2Fh&metricTemp=%C2%B0C&radarRange=-1",
|
||||
"aspect_ratio": "80%",
|
||||
"title": "Regenradar"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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": {
|
||||
"config": {
|
||||
"title": "Alt",
|
||||
"views": [
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.bathroom"
|
||||
],
|
||||
"image": "/local/img/bathroom2.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"entity": "light.haustur_licht",
|
||||
"icon": "mdi:book",
|
||||
"name": "Haust\u00fcr"
|
||||
"color": "#f07a1d",
|
||||
"name": "Normal",
|
||||
"scene": "scene.bad_normal"
|
||||
},
|
||||
{
|
||||
"entity": "light.garten_spot_birke",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Birke"
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.bad_hell"
|
||||
},
|
||||
{
|
||||
"entity": "light.garten_spot_magnolie",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Magnolie"
|
||||
},
|
||||
{
|
||||
"entity": "light.garten_stehleuchte",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Stehleuchte"
|
||||
"icon": "mdi:duck",
|
||||
"name": "Baden",
|
||||
"scene": "scene.bad_baden"
|
||||
}
|
||||
],
|
||||
"title": "Au\u00dfen",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_2",
|
||||
"name": "Balkon"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:pine-tree",
|
||||
"show_header_toggle": true,
|
||||
"title": "Weihnachten",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"switch.klingel_innentur",
|
||||
"switch.klingel_aussentur",
|
||||
"switch.klingel_oben"
|
||||
],
|
||||
"icon": "mdi:bell",
|
||||
"title": "Klingel",
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:tree",
|
||||
"title": "Au\u00dfen"
|
||||
},
|
||||
{
|
||||
"cards": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.motion_combined",
|
||||
"format": "relative",
|
||||
"name": "Bewegung",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_ost",
|
||||
"name": "Eingang",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_mitte",
|
||||
"name": "Mitte",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_wohnzimmer",
|
||||
"name": "Zum Wohnzimmer",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_schlafzimmer",
|
||||
"name": "Zum Schlafzimmer",
|
||||
"secondary_info": "last-changed"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Bewegungsmelder",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"light.bewegungsmelder_west_led",
|
||||
"light.bewegungsmelder_ost_led",
|
||||
"light.bewegungsmelder_mitte_led"
|
||||
],
|
||||
"title": "Bewegungsmelder LEDs",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.waschmaschine_verbrauch",
|
||||
"name": "Waschmaschine"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.trockner_verbrauch",
|
||||
"name": "Trockner"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 24,
|
||||
"name": "Waschen Trocknen",
|
||||
"points_per_hour": 1,
|
||||
"type": "custom:mini-graph-card",
|
||||
"upper_bound": 1200
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.spulmaschine_verbrauch",
|
||||
"name": "Sp\u00fchlmaschine"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.backofen_verbrauch",
|
||||
"name": "Backofen"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_1_verbrauch",
|
||||
"name": "Herd P1"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_2_verbrauch",
|
||||
"name": "Herd P2"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_3_verbrauch",
|
||||
"name": "Herd P3"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 8,
|
||||
"name": "K\u00fcche",
|
||||
"points_per_hour": 4,
|
||||
"type": "custom:mini-graph-card",
|
||||
"upper_bound": 1800
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.fritz_box_7490_kbyte_sec_received",
|
||||
"name": "Down"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.fritz_box_7490_kbyte_sec_sent",
|
||||
"name": "Up"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 2,
|
||||
"name": "Internet",
|
||||
"points_per_hour": 30,
|
||||
"type": "custom:mini-graph-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "KitchenPi lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "KitchenPi squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "KitchenPi shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "KitchenPi dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "bedroompi lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "bedroompi squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "bedroompi shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "bedroompi dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "esszimmerradio lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "esszimmerradio squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "esszimmerradio shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "sispmctl"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_sispmctl",
|
||||
"icon": "mdi:power",
|
||||
"name": "esszimmerradio sispmctl",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_irserver",
|
||||
"icon": "mdi:remote",
|
||||
"name": "MusikServerWohnzimmerOben irserver",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "MusikServerWohnzimmerOben squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "MusikServerWohnzimmerOben shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "MusikServerWohnzimmerOben dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "logitechmediaserver"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_logitechmediaserver",
|
||||
"icon": "mdi:music",
|
||||
"name": "MusikServerWohnzimmerOben media server",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:raspberry-pi",
|
||||
"show_header_toggle": false,
|
||||
"title": "Pi Services",
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:key",
|
||||
"title": "Admin"
|
||||
},
|
||||
{
|
||||
"cards": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.kuche_deckenlampe",
|
||||
"name": "Decke K\u00fcche"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_mitte",
|
||||
"name": "Decke Esszimmer Mitte"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_west",
|
||||
"name": "Decke Esszimmer"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_links",
|
||||
"name": "K\u00fcche LED links"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_rechts",
|
||||
"name": "K\u00fcche LED rechts"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_vorne",
|
||||
"name": "K\u00fcche LED vorne"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kuche_fenster_rollo",
|
||||
"name": "K\u00fcche",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.esszimmer_fenster_rollo",
|
||||
"name": "Esszimmer",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": true,
|
||||
"title": "K\u00fcche/Esszimmer",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.wohnzimmer_deckenlampe",
|
||||
"name": "Decke"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_kugel",
|
||||
"name": "Kugel"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_regal_links",
|
||||
"name": "Regal links"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_regal_rechts",
|
||||
"name": "Regal rechts"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_stehlampe_oben",
|
||||
"name": "Stehlampe oben"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_stehlampe",
|
||||
"name": "Stehlampe unten"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "Fenster",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_terrassentur_rollo",
|
||||
"name": "T\u00fcr",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": true,
|
||||
"title": "Wohnzimmer",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.trockner",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.waschmaschine",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.spulmaschine",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.backofen",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_1",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_2",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_3",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Sicherheitsabschaltung",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"sensor.esszimmer_temperatur",
|
||||
"sensor.wohnzimmer_gang_temperatur",
|
||||
"sensor.wohnzimmer_terassentur_temperatur",
|
||||
"sensor.eingangsbereich_temperatur",
|
||||
"sensor.treppenhaus_oben_temperatur"
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Temperatur",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"binary_sensor.rauchmelder_gang_oben_sensor",
|
||||
"binary_sensor.rauchmelder_gang_sensor",
|
||||
"binary_sensor.rauchmelder_schlafzimmer_sensor",
|
||||
"binary_sensor.rauchmelder_wohnzimmer_sensor"
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Rauchmelder",
|
||||
"type": "entities"
|
||||
"type": "custom:room-glance-card"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:more",
|
||||
|
@ -708,7 +38,5 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"key": "lovelace.lovelace_rebecca",
|
||||
"version": 1
|
||||
}
|
||||
}
|
|
@ -1,17 +1,35 @@
|
|||
{
|
||||
"version": 1,
|
||||
"key": "lovelace_dashboards",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"icon": "mdi:account",
|
||||
"id": "lovelace_rebecca",
|
||||
"mode": "storage",
|
||||
"require_admin": false,
|
||||
"show_in_sidebar": true,
|
||||
"require_admin": true,
|
||||
"show_in_sidebar": false,
|
||||
"title": "Alt",
|
||||
"url_path": "lovelace-rebecca"
|
||||
},
|
||||
{
|
||||
"require_admin": false,
|
||||
"show_in_sidebar": true,
|
||||
"icon": "mdi:texture-box",
|
||||
"title": "Bereiche",
|
||||
"url_path": "01-areas",
|
||||
"mode": "storage",
|
||||
"id": "01_areas"
|
||||
},
|
||||
{
|
||||
"require_admin": false,
|
||||
"show_in_sidebar": true,
|
||||
"icon": "mdi:format-list-checkbox",
|
||||
"title": "Detail",
|
||||
"url_path": "05-detail",
|
||||
"mode": "storage",
|
||||
"id": "05_detail"
|
||||
}
|
||||
]
|
||||
},
|
||||
"key": "lovelace_dashboards",
|
||||
"version": 1
|
||||
}
|
||||
}
|
|
@ -1,38 +1,94 @@
|
|||
{
|
||||
"version": 1,
|
||||
"key": "lovelace_resources",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/state-card-custom-cover.js"
|
||||
},
|
||||
{
|
||||
"id": "526c1c7115cd4bb396cf02a83b884365",
|
||||
"type": "js",
|
||||
"url": "/local/custom_ui/toggle-lock-entity-row.js"
|
||||
},
|
||||
{
|
||||
"id": "7a6c43fa1538436da6459843fd217667",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/mini-graph-card-bundle.js?v=0.4.3"
|
||||
},
|
||||
{
|
||||
"id": "3527ae66772544dfb09c5246ba4882c0",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/mini-media-player-bundle.js?v=1.5.1"
|
||||
},
|
||||
{
|
||||
"id": "55ef5e325ab444d19e15a1183a97fb35",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/room-glance-card.js?v=1.0"
|
||||
},
|
||||
{
|
||||
"id": "02ac97946bb44092a5f073752a8b6deb",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/multiple-entity-row.js?v=3.5.1"
|
||||
}
|
||||
]
|
||||
}
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "lovelace_resources",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/state-card-custom-cover.js?v=1.09"
|
||||
},
|
||||
{
|
||||
"id": "526c1c7115cd4bb396cf02a83b884365",
|
||||
"type": "js",
|
||||
"url": "/local/custom_ui/toggle-lock-entity-row.js"
|
||||
},
|
||||
{
|
||||
"id": "55ef5e325ab444d19e15a1183a97fb35",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/room-glance-card.js?v=1.09"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/scheduler-card/scheduler-card.js?hacstag=286270157239",
|
||||
"type": "module",
|
||||
"id": "af379618bd83489a9f2f15a0be498eaf"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-slider-entity-row/slider-entity-row.js?hacstag=1448997001721",
|
||||
"type": "module",
|
||||
"id": "7067680a3f314af285c5ebe1605e0451"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-template-entity-row/template-entity-row.js?hacstag=231674882130",
|
||||
"type": "module",
|
||||
"id": "aa48cd5ffa8a4e0883ce06e64391cf46"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/rgb-light-card/card.js?hacstag=2153271951110",
|
||||
"type": "module",
|
||||
"id": "9fa16ed42d0c480ab9dc711cb98790e7"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/mini-graph-card/mini-graph-card-bundle.js?hacstag=1512800620110",
|
||||
"type": "module",
|
||||
"id": "5fb0764a8bb54c4aaf4a4be15022095b"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/mini-media-player/mini-media-player-bundle.js?hacstag=1485208381165",
|
||||
"type": "module",
|
||||
"id": "9f7ce776f265476f89246c9926a933a8"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-multiple-entity-row/multiple-entity-row.js?hacstag=178921037441",
|
||||
"type": "module",
|
||||
"id": "295d5e67ee594e31935e535c2c4b7bd4"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/hass-hue-icons/hass-hue-icons.js?hacstag=3844345221248",
|
||||
"type": "module",
|
||||
"id": "59ab7764b5724e75ac5ff57fdcd54e2c"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/spotify-card/spotify-card.js?hacstag=173955605240",
|
||||
"type": "module",
|
||||
"id": "caffec3aea214ea7a0b32f943c8b63ff"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/slider-button-card/slider-button-card.js?hacstag=3754399611103",
|
||||
"type": "module",
|
||||
"id": "c5461acbb2e742e4b06cebf73181ffc7"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/apexcharts-card/apexcharts-card.js?hacstag=331701152202",
|
||||
"type": "module",
|
||||
"id": "322b6b5391e84fd1bb126c8448db1ebb"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/kiosk-mode/kiosk-mode.js?hacstag=303101606172",
|
||||
"type": "module",
|
||||
"id": "58eff8b61ebf463b86570a8c975adda3"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-valetudo-map-card/valetudo-map-card.js?hacstag=20303610820211205",
|
||||
"type": "module",
|
||||
"id": "44c1654a1a8b4e078c2d69bf52ba2ce5"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-plotly-graph-card/plotly-graph-card.js?hacstag=413812496182",
|
||||
"type": "module",
|
||||
"id": "32657eeee53441558557757278d7e135"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -602,7 +602,7 @@
|
|||
"device_class": "battery",
|
||||
"icon": "mdi:battery-70",
|
||||
"name": "Battery Level",
|
||||
"state": 74,
|
||||
"state": 73,
|
||||
"type": "sensor",
|
||||
"unique_id": "battery_level",
|
||||
"unit_of_measurement": "%",
|
||||
|
@ -647,7 +647,9 @@
|
|||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_detected_activity": {
|
||||
"added": true,
|
||||
"attributes": {
|
||||
"still": 100
|
||||
"in_vehicle": 2,
|
||||
"still": 97,
|
||||
"unknown": 1
|
||||
},
|
||||
"icon": "mdi:sleep",
|
||||
"name": "Erkannte Aktivit\u00e4t",
|
||||
|
@ -691,13 +693,13 @@
|
|||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_last_reboot": {
|
||||
"added": true,
|
||||
"attributes": {
|
||||
"Local Time": "Mon Jan 25 02:51:06 GMT+01:00 2021",
|
||||
"Time in Milliseconds": 1611539466409
|
||||
"Local Time": "Wed Mar 03 14:23:12 GMT+01:00 2021",
|
||||
"Time in Milliseconds": 1614777792390
|
||||
},
|
||||
"device_class": "timestamp",
|
||||
"icon": "mdi:restart",
|
||||
"name": "Last Reboot",
|
||||
"state": "2021-01-25T01:51:06Z",
|
||||
"state": "2021-03-03T13:23:12Z",
|
||||
"type": "sensor",
|
||||
"unique_id": "last_reboot",
|
||||
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
||||
|
@ -717,14 +719,14 @@
|
|||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_next_alarm": {
|
||||
"added": true,
|
||||
"attributes": {
|
||||
"Local Time": "Tue Feb 02 06:45:00 GMT+01:00 2021",
|
||||
"Local Time": "Fri Apr 02 07:30:00 GMT+02:00 2021",
|
||||
"Package": "Unknown",
|
||||
"Time in Milliseconds": 1612244700000
|
||||
"Time in Milliseconds": 1617341400000
|
||||
},
|
||||
"device_class": "timestamp",
|
||||
"icon": "mdi:alarm",
|
||||
"name": "Next Alarm",
|
||||
"state": "2021-02-02T05:45:00.000Z",
|
||||
"state": "2021-04-02T05:30:00.000Z",
|
||||
"type": "sensor",
|
||||
"unique_id": "next_alarm",
|
||||
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
||||
|
@ -754,7 +756,7 @@
|
|||
"attributes": {},
|
||||
"icon": "mdi:walk",
|
||||
"name": "Schrittsensor",
|
||||
"state": "19916",
|
||||
"state": "106021",
|
||||
"type": "sensor",
|
||||
"unique_id": "steps_sensor",
|
||||
"unit_of_measurement": "steps",
|
||||
|
@ -762,10 +764,13 @@
|
|||
},
|
||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_storage_sensor": {
|
||||
"added": true,
|
||||
"attributes": {},
|
||||
"attributes": {
|
||||
"Free internal storage": "84GB",
|
||||
"Total internal storage": "110GB"
|
||||
},
|
||||
"icon": "mdi:harddisk",
|
||||
"name": "Storage Sensor",
|
||||
"state": 78,
|
||||
"state": 76,
|
||||
"type": "sensor",
|
||||
"unique_id": "storage_sensor",
|
||||
"unit_of_measurement": "%",
|
||||
|
@ -810,14 +815,14 @@
|
|||
},
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_storage": {
|
||||
"attributes": {
|
||||
"Available": "109,76 GB",
|
||||
"Available (Important)": "119,30 GB",
|
||||
"Available (Opportunistic)": "118,01 GB",
|
||||
"Available": "103,52 GB",
|
||||
"Available (Important)": "113,35 GB",
|
||||
"Available (Opportunistic)": "112,07 GB",
|
||||
"Total": "255,98 GB"
|
||||
},
|
||||
"icon": "mdi:database",
|
||||
"name": "Storage",
|
||||
"state": "46.10",
|
||||
"state": "43.78",
|
||||
"type": "sensor",
|
||||
"unique_id": "storage",
|
||||
"unit_of_measurement": "% available",
|
||||
|
@ -825,14 +830,11 @@
|
|||
"added": true
|
||||
},
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_level": {
|
||||
"attributes": {
|
||||
"Battery State": "Not Charging",
|
||||
"Low Power Mode": false
|
||||
},
|
||||
"attributes": {},
|
||||
"device_class": "battery",
|
||||
"icon": "mdi:battery-50",
|
||||
"icon": "mdi:battery-90",
|
||||
"name": "Battery Level",
|
||||
"state": 58,
|
||||
"state": 96,
|
||||
"type": "sensor",
|
||||
"unique_id": "battery_level",
|
||||
"unit_of_measurement": "%",
|
||||
|
@ -841,11 +843,10 @@
|
|||
},
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_state": {
|
||||
"attributes": {
|
||||
"Battery Level": 58,
|
||||
"Low Power Mode": false
|
||||
},
|
||||
"device_class": "battery",
|
||||
"icon": "mdi:battery-50",
|
||||
"icon": "mdi:battery-90",
|
||||
"name": "Battery State",
|
||||
"state": "Not Charging",
|
||||
"type": "sensor",
|
||||
|
@ -856,7 +857,7 @@
|
|||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_connectivity_bssid": {
|
||||
"icon": "mdi:wifi-star",
|
||||
"name": "BSSID",
|
||||
"state": "7c:ff:4d:4:d7:a6",
|
||||
"state": "7c:ff:4d:4:d7:a7",
|
||||
"type": "sensor",
|
||||
"unique_id": "connectivity_bssid",
|
||||
"attributes": {},
|
||||
|
@ -898,7 +899,7 @@
|
|||
"Locality": "Rohr",
|
||||
"Location": [
|
||||
49.369293212890625,
|
||||
10.983685522613598
|
||||
10.983692880866485
|
||||
],
|
||||
"Name": "Dietersdorfer Stra\u00dfe 19",
|
||||
"Ocean": "N/A",
|
||||
|
@ -909,7 +910,7 @@
|
|||
"Thoroughfare": "Dietersdorfer Stra\u00dfe",
|
||||
"Time Zone": "Europe/Berlin",
|
||||
"Zones": [
|
||||
"Home"
|
||||
"MyHome"
|
||||
]
|
||||
},
|
||||
"webhook_id": "2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a",
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
{
|
||||
"data": {
|
||||
"done": [
|
||||
"user",
|
||||
"core_config",
|
||||
"integration"
|
||||
]
|
||||
},
|
||||
"key": "onboarding",
|
||||
"version": 3
|
||||
"version": 4,
|
||||
"minor_version": 1,
|
||||
"key": "onboarding",
|
||||
"data": {
|
||||
"done": [
|
||||
"user",
|
||||
"core_config",
|
||||
"integration",
|
||||
"analytics"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -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'
|
||||
alias: FernbedienungWeihnachtslichterOben
|
||||
alias: Fernbedienung Weihnachtslichter Oben
|
||||
description: ''
|
||||
trigger:
|
||||
- event_data:
|
||||
|
@ -13,6 +13,7 @@
|
|||
- data:
|
||||
entity_id: switch.mobile_steckdose_schalter_2
|
||||
service: switch.toggle
|
||||
mode: single
|
||||
- id: '1575202743482'
|
||||
alias: Wecker Licht an
|
||||
description: ''
|
||||
|
@ -44,7 +45,7 @@
|
|||
- 0.414
|
||||
service: light.turn_on
|
||||
- id: '1589377976830'
|
||||
alias: AlarmMartinHandy
|
||||
alias: Alarm Martin Handy
|
||||
description: ''
|
||||
trigger:
|
||||
- entity_id: binary_sensor.gang_bewegungsmelder_schlafzimmer, binary_sensor.gang_bewegungsmelder_ost,
|
||||
|
@ -65,7 +66,7 @@
|
|||
- delay: '30'
|
||||
mode: single
|
||||
- id: '1598594894559'
|
||||
alias: KlingelAufHandy
|
||||
alias: Klingel Auf Handy
|
||||
description: ''
|
||||
trigger:
|
||||
- entity_id: switch.klingel_aussentur
|
||||
|
@ -84,7 +85,7 @@
|
|||
service: notify.ios_martins_ipad
|
||||
mode: single
|
||||
- id: '1606655282153'
|
||||
alias: _WeihnachtslichterAnUm6
|
||||
alias: Weihnachtslichter an morgens um 6
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
|
@ -96,10 +97,12 @@
|
|||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1607412098745'
|
||||
alias: _WeihnachtslichterAusMorgens
|
||||
alias: Weihnachtslichter aus morgens
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: sun
|
||||
|
@ -112,16 +115,18 @@
|
|||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.mobile_steckdose_schalter_1
|
||||
- switch.mobile_steckdose_schalter_2
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1607412144113'
|
||||
alias: _Weihnachtslichter An Abends
|
||||
alias: Weihnachtslichter An Abends
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
- platform: time
|
||||
at: '15:30:00'
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
|
@ -129,12 +134,12 @@
|
|||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.mobile_steckdose_schalter_1
|
||||
- switch.mobile_steckdose_schalter_2
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1607412210097'
|
||||
alias: _Weihnachtslichter Aus Abends
|
||||
alias: Weihnachtslichter Aus Abends
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
|
@ -146,12 +151,12 @@
|
|||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.mobile_steckdose_schalter_1
|
||||
- switch.mobile_steckdose_schalter_2
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1612028092169'
|
||||
alias: 0_BewegungsmelderSchlafzimmerNacht
|
||||
alias: Bewegungsmelder Schlafzimmer Nacht
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: state
|
||||
|
@ -181,8 +186,152 @@
|
|||
brightness: 6
|
||||
entity_id: light.bett_martin, light.bett_rebecca
|
||||
- delay: '1'
|
||||
- service: light.turn_on
|
||||
- service: light.turn_off
|
||||
data:
|
||||
transition: 120
|
||||
entity_id: light.bett_martin, light.bett_rebecca
|
||||
mode: single
|
||||
- id: '1626815190256'
|
||||
alias: Foen Timer
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: timer.finished
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
target:
|
||||
entity_id: switch.tasmota07
|
||||
mode: single
|
||||
- id: '1632393568599'
|
||||
alias: Herd vorgeheizt -> iPad
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: sensor.backofen_verbrauch
|
||||
below: '20'
|
||||
for:
|
||||
hours: 0
|
||||
minutes: 0
|
||||
seconds: 5
|
||||
milliseconds: 0
|
||||
condition: []
|
||||
action:
|
||||
- service: notify.mobile_app_martins_ipad
|
||||
data:
|
||||
title: Herd vorgeheizt
|
||||
message: herd ist heiss :)
|
||||
mode: single
|
||||
- id: '1633435293611'
|
||||
alias: Gang Bogen Nachtlicht
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.gang_bewegungsmelder_schlafzimmer
|
||||
- binary_sensor.gang_bewegungsmelder_wohnzimmer
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{ state_attr(''sun.sun'', ''elevation'') < 5 }}'
|
||||
action:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: light.gang_bogen
|
||||
data:
|
||||
brightness_pct: 50
|
||||
xy_color:
|
||||
- 0.607
|
||||
- 0.378
|
||||
- delay:
|
||||
hours: 0
|
||||
minutes: 2
|
||||
seconds: 0
|
||||
milliseconds: 0
|
||||
- service: light.turn_off
|
||||
target:
|
||||
entity_id: light.gang_bogen
|
||||
data:
|
||||
transition: 5
|
||||
mode: restart
|
||||
- id: '1634461079797'
|
||||
alias: 3D Drucker State Change
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.octoprint_printing
|
||||
condition: []
|
||||
action:
|
||||
- service: notify.telegram_martin
|
||||
data:
|
||||
title: 3D Drucker
|
||||
message: 3D Drucker hat Zustand gewechselt
|
||||
mode: single
|
||||
- id: '1656971839915'
|
||||
alias: Rollos zu nachts
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 04:00:00
|
||||
condition: []
|
||||
action:
|
||||
- service: cover.close_cover
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- cover.schlafzimmer_rollo_klein
|
||||
- cover.schlafzimmer_rollo_gross
|
||||
mode: single
|
||||
- id: '1669014477577'
|
||||
alias: Weihnachtslichter oben 01 morgens an um 7
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 07:00:00
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
- id: '1669014568292'
|
||||
alias: Weihnachtslichter oben 02 morgens aus um 9
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 09:00:00
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
- id: '1669014612655'
|
||||
alias: Weihnachtslichter oben 03 abends an 16:30
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '16:30:00'
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
- id: '1669014682496'
|
||||
alias: Weihnachtslichter oben 04 abends aus 22:00
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '22:00:00'
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
|
|
|
@ -1,136 +0,0 @@
|
|||
# ------ Einschalten ---------------
|
||||
- alias: EsszimmerRadio Oben an
|
||||
trigger:
|
||||
# Switch on when pushing play or power
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_power
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
# Switch on when pressing any number button
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: switch.turn_on
|
||||
data:
|
||||
entity_id: switch.esszimmer_oben_radio_steckdose1
|
||||
|
||||
|
||||
# ------ Ausschalten ---------------
|
||||
|
||||
- alias: EsszimmerRadio Oben aus
|
||||
trigger:
|
||||
# Switch off when pushing goto or pause
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_goto
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data:
|
||||
entity_id: switch.esszimmer_oben_radio_steckdose1
|
||||
- service: media_player.media_stop
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
|
||||
- alias: Radio Stop
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_stop
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
|
||||
# ------ Squeezelite neustart ---------------
|
||||
|
||||
- alias: EsszimmerRadio oben squeezelite neustart
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_record
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: sysdweb.restart
|
||||
data:
|
||||
hostname: esszimmerradio.fritz.box
|
||||
service_name: squeezelite
|
|
@ -1,652 +0,0 @@
|
|||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR bedroompi.fritz.box btn_1
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Good Morning
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_2
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Good Night Long
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_3
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Good Night
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bar Classics
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Sentimental Moods
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Pop
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.repeat_set
|
||||
data:
|
||||
repeat: one
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 1
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Foen
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.volume_set
|
||||
data:
|
||||
volume_level: 60
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 3
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box key_red
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_red
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.schlafzimmer_stillen
|
||||
- alias: IR bedroompi.fritz.box key_green
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.schlafzimmer_orange
|
||||
- alias: IR bedroompi.fritz.box key_yellow
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_yellow
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.schlafzimmer_ganz_hell
|
||||
- alias: IR bedroompi.fritz.box key_blue
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_blue
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.nachtswennallelieberschlafen
|
||||
- alias: IR bedroompi.fritz.box key_tv
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_tv
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: spotify:playlist:37i9dQZF1DXbcPC6Vvqudd
|
||||
light_off_secs: 900
|
||||
music_off_secs: 2700
|
||||
shuffle: 1
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_video
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_video
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: Good Night
|
||||
light_off_secs: 900
|
||||
music_off_secs: 2700
|
||||
shuffle: 0
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_music
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_music
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: spotify:playlist:37i9dQZF1DXbcPC6Vvqudd
|
||||
light_off_secs: 300
|
||||
music_off_secs: 1200
|
||||
shuffle: 1
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_pictures
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pictures
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: Good Night
|
||||
light_off_secs: 300
|
||||
music_off_secs: 1200
|
||||
shuffle: 0
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_power
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_power
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.media_pause
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box key_ok
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_ok
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: cover.close_cover
|
||||
data:
|
||||
entity_id: cover.schlafzimmer_rollo_gross
|
||||
- service: cover_half.set_half
|
||||
data:
|
||||
entity_id: cover.schlafzimmer_rollo_klein
|
||||
- alias: IR bedroompi.fritz.box key_mute
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_mute
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: group.all_downstairs_but_bedroom_and_outside
|
||||
- alias: IR bedroompi.fritz.box key_channel
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channel
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: group.all_downstairs_but_bedroom
|
||||
- alias: IR bedroompi.fritz.box Rollo auf
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_up
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Rollo zu
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_down
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: cover.close_cover
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Rollo halb
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_left
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_right
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channelup
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 30
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channeldown
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -30
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht viel heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 130
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht viel dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_stop
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -130
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht aus
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_goto
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
|
@ -1,352 +0,0 @@
|
|||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR esszimmerradio.fritz.box btn_1
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 1
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_2
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_3
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR Heimat
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern+
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 Aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Gesammelte Weihnachtslieder
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Harmonic Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: German Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: SammlungGeorg
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
|
@ -1,352 +0,0 @@
|
|||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_1
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 1
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_2
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_3
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR Heimat
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern+
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 Aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Gesammelte Weihnachtslieder
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Harmonic Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: German Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: SammlungGeorg
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
|
@ -1,440 +0,0 @@
|
|||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR kitchenpi.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bar Classics
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Sentimental Moods
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Pop
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Antenne Bayern
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 3
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box key_red
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_red
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_orange
|
||||
- alias: IR kitchenpi.fritz.box key_green
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_grun
|
||||
- alias: IR kitchenpi.fritz.box key_yellow
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_yellow
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_hell
|
||||
- alias: IR kitchenpi.fritz.box key_blue
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_blue
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_blau_grun
|
||||
- alias: IR kitchenpi.fritz.box Rollo auf
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_up
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Rollo zu
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_down
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: cover.close_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Rollo halb
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_left
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_right
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channelup
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 30
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channeldown
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -30
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht viel heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 130
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht viel dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_stop
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -130
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht aus
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_goto
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
|
@ -1,35 +0,0 @@
|
|||
- alias: KNX Button WohnzimmerTerrassentür Teddy mitte links kurz
|
||||
trigger:
|
||||
- entity_id: switch.wohnzimmer_terrassentur_szene_2
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
platform: state
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_kuscheln
|
||||
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerTerrassentür Garten mitte rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_terrassentur_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.garten_savanna
|
||||
|
||||
- alias: KNX Button WohnzimmerTerrassentür Garten mitte rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_terrassentur_szene_3
|
||||
action:
|
||||
service: lights.turn_off
|
||||
data:
|
||||
entity_id: light.garten_lichter
|
|
@ -1,66 +0,0 @@
|
|||
|
||||
- alias: KNX Button Eingangstür mitte links kurz - alles an
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_2
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- light.gang_licht
|
||||
- light.gang_einganglicht
|
||||
|
||||
|
||||
- alias: KNX Button Eingangstür mitte links lang - alles an hell
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_2
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- light.gang_licht
|
||||
- light.gang_einganglicht
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- scene.wohnbereich_hell
|
||||
|
||||
# -----------
|
||||
|
||||
- alias: KNX Button Eingangstür mitte rechts kurz - alles aus innen
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_3
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- all_downstairs_but_outside
|
||||
|
||||
|
||||
- alias: KNX Button Eingangstür mitte rechts lang - alles aus innen und aussen
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_3
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- all_downstairs
|
||||
|
||||
|
||||
# --------------------------------- Alarm Buttons -----------------------------------
|
||||
|
||||
|
||||
# Alarm
|
||||
#switch.eingang_szene_4 # key
|
||||
#switch.eingang_szene_5 # dog
|
|
@ -1,156 +0,0 @@
|
|||
# ---------------------------------------------------
|
||||
- alias: KNX Button Esszimmertür oben links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button Esszimmertür oben links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id:
|
||||
- cover.kuche_fenster_rollo
|
||||
- cover.esszimmer_fenster_rollo
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button Esszimmertür oben rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button Esszimmertür oben rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id:
|
||||
- cover.kuche_fenster_rollo
|
||||
- cover.esszimmer_fenster_rollo
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_orange
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.kuche_essbereich_orange
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_hell
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.kuche_essbereich_hell
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button Esszimmertür unten links ein
|
||||
trigger:
|
||||
- entity_id: switch.esszimmer_szene_4
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
platform: state
|
||||
action:
|
||||
service: switch.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- switch.herd_phase_1
|
||||
- switch.herd_phase_2
|
||||
- switch.herd_phase_3
|
||||
|
||||
- alias: KNX Button Esszimmertür unten links aus
|
||||
trigger:
|
||||
- entity_id: switch.esszimmer_szene_4
|
||||
from: 'on'
|
||||
to: 'off'
|
||||
platform: state
|
||||
action:
|
||||
service: switch.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- switch.herd_phase_1
|
||||
- switch.herd_phase_2
|
||||
- switch.herd_phase_3
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button Esszimmertür unten rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
- alias: KNX Button Esszimmertür unten rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: light.kuche_esszimmer_lichter
|
|
@ -1,150 +0,0 @@
|
|||
# ---------------------------------------------------
|
||||
- alias: KNX Button WohnzimmerGangTür oben links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür oben links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id:
|
||||
- cover.wohnzimmer_fenster_rollo
|
||||
- cover.wohnzimmer_terrassentur_rollo
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür oben rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür oben rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id:
|
||||
- cover.wohnzimmer_fenster_rollo
|
||||
- cover.wohnzimmer_terrassentur_rollo
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_orange
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_orange
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_hell
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_hell
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_4
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_dunkel
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_4
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_dunkel
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: light.kuche_wohnzimmer_lichter
|
|
@ -1,217 +0,0 @@
|
|||
- alias: Oben Wohnzimmer IR key_red next scene
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_red
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: counter.increment
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
|
||||
|
||||
- alias: Oben Wohnzimmer IR key_green prev scene
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: counter.decrement
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
|
||||
- alias: Oben Wohnzimmer IR Licht heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channelup
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 30
|
||||
entity_id: light.lampe_ersterstock
|
||||
|
||||
- alias: Oben Wohnzimmer IR Licht dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channeldown
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -30
|
||||
entity_id: light.lampe_ersterstock
|
||||
|
||||
- alias: Oben Wohnzimmer IR Licht aus
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_blue
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_yellow
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
|
||||
|
||||
# --------------------------------- Szenen -------------------
|
||||
|
||||
- alias: Oben Szene 0
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 0 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
color_temp: 492
|
||||
|
||||
|
||||
- alias: Oben Szene 1
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 1 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.5794
|
||||
- 0.3752
|
||||
|
||||
|
||||
- alias: Oben Szene 2
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 2 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.5535
|
||||
- 0.4104
|
||||
|
||||
- alias: Oben Szene 3
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 3 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.4662
|
||||
- 0.3252
|
||||
|
||||
- alias: Oben Szene 4
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 4 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.3423
|
||||
- 0.2252
|
||||
|
||||
|
||||
- alias: Oben Szene 5
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 5 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.346
|
||||
- 0.394
|
||||
|
||||
- alias: Oben Szene 6
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 6 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.4119
|
||||
- 0.3671
|
||||
|
||||
|
||||
- alias: Oben Szene 7
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 7 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.408
|
||||
- 0.517
|
||||
|
||||
|
||||
- alias: Oben Szene 8
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 8 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
color_temp: 202
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# ------ Squeezelite neustart ---------------
|
||||
|
||||
- alias: Wohnzimmer oben squeezelite neustart
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_record
|
||||
repeat_counter: 0
|
||||
host: musikserverwohnzimmeroben.fritz.box
|
||||
action:
|
||||
service: sysdweb.restart
|
||||
data:
|
||||
hostname: musikserverwohnzimmeroben.fritz.box
|
||||
service_name: squeezelite
|
|
@ -1,263 +0,0 @@
|
|||
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
|
||||
attr global autoload_undefined_devices 1
|
||||
attr global logfile -
|
||||
attr global modpath .
|
||||
attr global motd Error messages while initializing FHEM:\
|
||||
attr global statefile ./log/fhem.save
|
||||
attr global updateInBackground 1
|
||||
attr global verbose 3
|
||||
attr global genericDeviceType:switch,light,blind,thermostat
|
||||
|
||||
define telnetPort telnet 7072 global
|
||||
|
||||
#define WEB FHEMWEB 8083 global
|
||||
|
||||
#define WEBphone FHEMWEB 8084 global
|
||||
#attr WEBphone stylesheetPrefix smallscreen
|
||||
|
||||
#define WEBtablet FHEMWEB 8085 global
|
||||
#attr WEBtablet stylesheetPrefix touchpad
|
||||
|
||||
# Fake FileLog entry, to access the fhem log from FHEMWEB
|
||||
#define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
|
||||
|
||||
define autocreate autocreate
|
||||
attr autocreate autosave 1
|
||||
#attr autocreate filelog ./log/%NAME-%Y.log
|
||||
|
||||
#define eventTypes eventTypes ./log/eventTypes.txt
|
||||
|
||||
# Disable this to avoid looking for new USB devices on startup
|
||||
#define initialUsbCheck notify global:INITIALIZED usb create
|
||||
|
||||
define CUL_0 CUL __device_placeholder__@9600 1034
|
||||
attr CUL_0 hmId 62a77d
|
||||
attr CUL_0 rfmode HomeMatic
|
||||
|
||||
define Arbeitszimmer_Rollo CUL_HM 339336
|
||||
attr Arbeitszimmer_Rollo IODev CUL_0
|
||||
attr Arbeitszimmer_Rollo autoReadReg 4_reqStatus
|
||||
attr Arbeitszimmer_Rollo expert 2_full
|
||||
attr Arbeitszimmer_Rollo firmware 2.3
|
||||
attr Arbeitszimmer_Rollo model HM-LC-Bl1PBU-FM
|
||||
attr Arbeitszimmer_Rollo room CUL_HM
|
||||
attr Arbeitszimmer_Rollo serialNr LEQ1440417
|
||||
attr Arbeitszimmer_Rollo subType blindActuator
|
||||
attr Arbeitszimmer_Rollo webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Arbeitszimmer_Rollo room Homekit
|
||||
|
||||
|
||||
define Arbeitszimmer_Deckenlampe CUL_HM 1AA382
|
||||
attr Arbeitszimmer_Deckenlampe IODev CUL_0
|
||||
attr Arbeitszimmer_Deckenlampe autoReadReg 4_reqStatus
|
||||
attr Arbeitszimmer_Deckenlampe expert 2_full
|
||||
attr Arbeitszimmer_Deckenlampe firmware 2.2
|
||||
attr Arbeitszimmer_Deckenlampe model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe room CUL_HM
|
||||
attr Arbeitszimmer_Deckenlampe serialNr JEQ0201891
|
||||
attr Arbeitszimmer_Deckenlampe subType dimmer
|
||||
attr Arbeitszimmer_Deckenlampe webCmd getConfig:clear msgEvents
|
||||
define Arbeitszimmer_Deckenlampe_Sw CUL_HM 1AA38201
|
||||
attr Arbeitszimmer_Deckenlampe_Sw model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe_Sw peerIDs
|
||||
attr Arbeitszimmer_Deckenlampe_Sw webCmd statusRequest:toggle:on:off:up:down
|
||||
define Arbeitszimmer_Deckenlampe_Sw1_V_01 CUL_HM 1AA38202
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_01 model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
|
||||
define Arbeitszimmer_Deckenlampe_Sw1_V_02 CUL_HM 1AA38203
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_02 model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Arbeitszimmer_Deckenlampe room Homekit
|
||||
|
||||
|
||||
|
||||
define Schlafzimmer_Deckenlampe CUL_HM 1AA1C7
|
||||
attr Schlafzimmer_Deckenlampe IODev CUL_0
|
||||
attr Schlafzimmer_Deckenlampe autoReadReg 4_reqStatus
|
||||
attr Schlafzimmer_Deckenlampe expert 2_full
|
||||
attr Schlafzimmer_Deckenlampe firmware 2.2
|
||||
attr Schlafzimmer_Deckenlampe model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe room CUL_HM
|
||||
attr Schlafzimmer_Deckenlampe serialNr JEQ0201456
|
||||
attr Schlafzimmer_Deckenlampe subType dimmer
|
||||
attr Schlafzimmer_Deckenlampe webCmd getConfig:clear msgEvents
|
||||
define Schlafzimmer_Deckenlampe_Sw CUL_HM 1AA1C701
|
||||
attr Schlafzimmer_Deckenlampe_Sw model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe_Sw peerIDs
|
||||
attr Schlafzimmer_Deckenlampe_Sw webCmd statusRequest:toggle:on:off:up:down
|
||||
define Schlafzimmer_Deckenlampe_Sw1_V_01 CUL_HM 1AA1C702
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_01 model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
|
||||
define Schlafzimmer_Deckenlampe_Sw1_V_02 CUL_HM 1AA1C703
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_02 model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Schlafzimmer_Deckenlampe room Homekit
|
||||
|
||||
|
||||
|
||||
define Schlafzimmer_RolloKlein CUL_HM 338C2A
|
||||
attr Schlafzimmer_RolloKlein IODev CUL_0
|
||||
attr Schlafzimmer_RolloKlein autoReadReg 4_reqStatus
|
||||
attr Schlafzimmer_RolloKlein expert 2_full
|
||||
attr Schlafzimmer_RolloKlein firmware 2.3
|
||||
attr Schlafzimmer_RolloKlein model HM-LC-Bl1PBU-FM
|
||||
attr Schlafzimmer_RolloKlein room CUL_HM
|
||||
attr Schlafzimmer_RolloKlein serialNr LEQ1439693
|
||||
attr Schlafzimmer_RolloKlein subType blindActuator
|
||||
attr Schlafzimmer_RolloKlein webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Schlafzimmer_RolloKlein room Homekit
|
||||
|
||||
|
||||
|
||||
|
||||
define Schlafzimmer_RolloGross CUL_HM 338C33
|
||||
attr Schlafzimmer_RolloGross IODev CUL_0
|
||||
attr Schlafzimmer_RolloGross autoReadReg 4_reqStatus
|
||||
attr Schlafzimmer_RolloGross expert 2_full
|
||||
attr Schlafzimmer_RolloGross firmware 2.3
|
||||
attr Schlafzimmer_RolloGross model HM-LC-Bl1PBU-FM
|
||||
attr Schlafzimmer_RolloGross room CUL_HM
|
||||
attr Schlafzimmer_RolloGross serialNr LEQ1439702
|
||||
attr Schlafzimmer_RolloGross subType blindActuator
|
||||
attr Schlafzimmer_RolloGross webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Schlafzimmer_RolloGross room Homekit
|
||||
|
||||
|
||||
|
||||
define Kinderzimmer_Deckenlampe CUL_HM 1B5305
|
||||
attr Kinderzimmer_Deckenlampe IODev CUL_0
|
||||
attr Kinderzimmer_Deckenlampe autoReadReg 4_reqStatus
|
||||
attr Kinderzimmer_Deckenlampe expert 2_full
|
||||
attr Kinderzimmer_Deckenlampe firmware 2.2
|
||||
attr Kinderzimmer_Deckenlampe model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe room CUL_HM
|
||||
attr Kinderzimmer_Deckenlampe serialNr JEQ0199674
|
||||
attr Kinderzimmer_Deckenlampe subType dimmer
|
||||
attr Kinderzimmer_Deckenlampe webCmd getConfig:clear msgEvents
|
||||
define Kinderzimmer_Deckenlampe_Sw CUL_HM 1B530501
|
||||
attr Kinderzimmer_Deckenlampe_Sw model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe_Sw peerIDs
|
||||
attr Kinderzimmer_Deckenlampe_Sw webCmd statusRequest:toggle:on:off:up:down
|
||||
define Kinderzimmer_Deckenlampe_Sw1_V_01 CUL_HM 1B530502
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_01 model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
|
||||
define Kinderzimmer_Deckenlampe_Sw1_V_02 CUL_HM 1B530503
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_02 model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Kinderzimmer_Deckenlampe room Homekit
|
||||
|
||||
|
||||
|
||||
|
||||
define Kinderzimmer_Rollo CUL_HM 1AF5DD
|
||||
attr Kinderzimmer_Rollo IODev CUL_0
|
||||
attr Kinderzimmer_Rollo autoReadReg 4_reqStatus
|
||||
attr Kinderzimmer_Rollo expert 2_full
|
||||
attr Kinderzimmer_Rollo firmware 2.1
|
||||
attr Kinderzimmer_Rollo model HM-LC-Bl1PBU-FM
|
||||
attr Kinderzimmer_Rollo room CUL_HM
|
||||
attr Kinderzimmer_Rollo serialNr JEQ0109195
|
||||
attr Kinderzimmer_Rollo subType blindActuator
|
||||
attr Kinderzimmer_Rollo webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Kinderzimmer_Rollo room Homekit
|
||||
|
||||
|
||||
|
||||
define Steckdose_Dimmer CUL_HM 20E8F1
|
||||
attr Steckdose_Dimmer IODev CUL_0
|
||||
attr Steckdose_Dimmer autoReadReg 4_reqStatus
|
||||
attr Steckdose_Dimmer expert 2_full
|
||||
attr Steckdose_Dimmer firmware 2.3
|
||||
attr Steckdose_Dimmer model HM-LC-Dim1T-Pl-2
|
||||
attr Steckdose_Dimmer room CUL_HM
|
||||
attr Steckdose_Dimmer serialNr KEQ0124588
|
||||
attr Steckdose_Dimmer subType dimmer
|
||||
attr Steckdose_Dimmer webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Steckdose_Dimmer room Homekit
|
||||
|
||||
|
||||
|
||||
define Bad_Luefter CUL_HM 1B7501
|
||||
attr Bad_Luefter IODev CUL_0
|
||||
attr Bad_Luefter autoReadReg 4_reqStatus
|
||||
attr Bad_Luefter expert 2_full
|
||||
attr Bad_Luefter firmware 2.1
|
||||
attr Bad_Luefter model HM-LC-Sw1PBU-FM
|
||||
attr Bad_Luefter room CUL_HM
|
||||
attr Bad_Luefter serialNr JEQ0099033
|
||||
attr Bad_Luefter subType switch
|
||||
attr Bad_Luefter webCmd statusRequest:toggle:on:off
|
||||
attr Bad_Luefter room Homekit
|
||||
|
||||
|
||||
|
||||
define Arbeitszimmer_Bewegungsmelder CUL_HM 2F2A4B
|
||||
attr Arbeitszimmer_Bewegungsmelder IODev CUL_0
|
||||
attr Arbeitszimmer_Bewegungsmelder actCycle 000:20
|
||||
attr Arbeitszimmer_Bewegungsmelder actStatus alive
|
||||
attr Arbeitszimmer_Bewegungsmelder autoReadReg 4_reqStatus
|
||||
attr Arbeitszimmer_Bewegungsmelder expert 2_full
|
||||
attr Arbeitszimmer_Bewegungsmelder firmware 1.6
|
||||
attr Arbeitszimmer_Bewegungsmelder model HM-SEC-MDIR-2
|
||||
attr Arbeitszimmer_Bewegungsmelder room CUL_HM
|
||||
attr Arbeitszimmer_Bewegungsmelder serialNr LEQ0797237
|
||||
attr Arbeitszimmer_Bewegungsmelder subType motionDetector
|
||||
attr Arbeitszimmer_Bewegungsmelder room Homekit
|
||||
|
||||
|
||||
define ActionDetector CUL_HM 000000
|
||||
attr ActionDetector event-on-change-reading .*
|
||||
attr ActionDetector model ActionDetector
|
||||
|
||||
|
||||
define MobileSteckdoseSchalter1 CUL_HM 453335
|
||||
attr MobileSteckdoseSchalter1 IODev CUL_0
|
||||
attr MobileSteckdoseSchalter1 actCycle 000:10
|
||||
attr MobileSteckdoseSchalter1 actStatus dead
|
||||
attr MobileSteckdoseSchalter1 autoReadReg 4_reqStatus
|
||||
attr MobileSteckdoseSchalter1 expert 2_full
|
||||
attr MobileSteckdoseSchalter1 firmware 1.6
|
||||
attr MobileSteckdoseSchalter1 model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter1 room CUL_HM
|
||||
attr MobileSteckdoseSchalter1 serialNr NEQ0153825
|
||||
attr MobileSteckdoseSchalter1 subType powerMeter
|
||||
attr MobileSteckdoseSchalter1 webCmd getConfig:clear msgEvents
|
||||
define MobileSteckdoseSchalter1_Sw CUL_HM 45333501
|
||||
attr MobileSteckdoseSchalter1_Sw model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter1_Sw peerIDs
|
||||
define MobileSteckdoseSchalter1_Pwr CUL_HM 45333502
|
||||
attr MobileSteckdoseSchalter1_Pwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenPwr CUL_HM 45333503
|
||||
attr MobileSteckdoseSchalter1_SenPwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenI CUL_HM 45333504
|
||||
attr MobileSteckdoseSchalter1_SenI model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenU CUL_HM 45333505
|
||||
attr MobileSteckdoseSchalter1_SenU model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenF CUL_HM 45333506
|
||||
attr MobileSteckdoseSchalter1_SenF model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2 CUL_HM 338E72
|
||||
attr MobileSteckdoseSchalter2 IODev CUL_0
|
||||
attr MobileSteckdoseSchalter2 actCycle 000:10
|
||||
attr MobileSteckdoseSchalter2 actStatus dead
|
||||
attr MobileSteckdoseSchalter2 autoReadReg 4_reqStatus
|
||||
attr MobileSteckdoseSchalter2 expert 2_full
|
||||
attr MobileSteckdoseSchalter2 firmware 1.6
|
||||
attr MobileSteckdoseSchalter2 model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter2 room CUL_HM
|
||||
attr MobileSteckdoseSchalter2 serialNr LEQ1345055
|
||||
attr MobileSteckdoseSchalter2 subType powerMeter
|
||||
attr MobileSteckdoseSchalter2 webCmd getConfig:clear msgEvents
|
||||
define MobileSteckdoseSchalter2_Sw CUL_HM 338E7201
|
||||
attr MobileSteckdoseSchalter2_Sw model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter2_Sw peerIDs
|
||||
define MobileSteckdoseSchalter2_Pwr CUL_HM 338E7202
|
||||
attr MobileSteckdoseSchalter2_Pwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenPwr CUL_HM 338E7203
|
||||
attr MobileSteckdoseSchalter2_SenPwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenI CUL_HM 338E7204
|
||||
attr MobileSteckdoseSchalter2_SenI model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenU CUL_HM 338E7205
|
||||
attr MobileSteckdoseSchalter2_SenU model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenF CUL_HM 338E7206
|
||||
attr MobileSteckdoseSchalter2_SenF model HM-ES-PMSw1-Pl
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
|
||||
light:
|
||||
- name: Schlafzimmer Deckenlampe
|
||||
dimmer: True
|
||||
fhem_ids:
|
||||
- Schlafzimmer_Deckenlampe_Sw
|
||||
- Schlafzimmer_Deckenlampe
|
||||
- Schlafzimmer_Deckenlampe_Sw1_V_01
|
||||
- Schlafzimmer_Deckenlampe_Sw1_V_02
|
||||
groups:
|
||||
- bedroom
|
||||
|
||||
|
||||
- name: Arbeitszimmer Deckenlampe
|
||||
dimmer: True
|
||||
fhem_ids:
|
||||
- Arbeitszimmer_Deckenlampe_Sw
|
||||
- Arbeitszimmer_Deckenlampe
|
||||
- Arbeitszimmer_Deckenlampe_Sw1_V_01
|
||||
- Arbeitszimmer_Deckenlampe_Sw1_V_02
|
||||
groups:
|
||||
- office
|
||||
|
||||
- name: Kinderzimmer Deckenlampe
|
||||
dimmer: True
|
||||
fhem_ids:
|
||||
- Kinderzimmer_Deckenlampe_Sw
|
||||
- Kinderzimmer_Deckenlampe
|
||||
- Kinderzimmer_Deckenlampe_Sw1_V_01
|
||||
- Kinderzimmer_Deckenlampe_Sw1_V_02
|
||||
groups:
|
||||
- kids_room
|
||||
|
||||
|
||||
- name: Mobile Steckdosen Dimmer
|
||||
dimmer: True
|
||||
fhem_ids:
|
||||
- Steckdose_Dimmer
|
||||
|
||||
cover:
|
||||
- name: Arbeitszimmer Rollo
|
||||
fhem_ids:
|
||||
- Arbeitszimmer_Rollo
|
||||
groups:
|
||||
- office
|
||||
|
||||
|
||||
- name: Schlafzimmer Rollo klein
|
||||
fhem_ids:
|
||||
- Schlafzimmer_RolloKlein
|
||||
groups:
|
||||
- bedroom
|
||||
|
||||
|
||||
- name: Schlafzimmer Rollo groß
|
||||
fhem_ids:
|
||||
- Schlafzimmer_RolloGross
|
||||
groups:
|
||||
- bedroom
|
||||
|
||||
|
||||
- name: Kinderzimmer Rollo
|
||||
fhem_ids:
|
||||
- Kinderzimmer_Rollo
|
||||
groups:
|
||||
- kids_room
|
||||
|
||||
|
||||
switch:
|
||||
- name: Bad Lüfter
|
||||
fhem_ids:
|
||||
- Bad_Luefter
|
||||
|
||||
- name: Mobile Steckdose Schalter 1
|
||||
fhem_ids:
|
||||
- MobileSteckdoseSchalter1_Sw
|
||||
- MobileSteckdoseSchalter1
|
||||
|
||||
- name: Mobile Steckdose Schalter 2
|
||||
fhem_ids:
|
||||
- MobileSteckdoseSchalter2_Sw
|
||||
- MobileSteckdoseSchalter2
|
||||
|
||||
|
||||
binary_sensor:
|
||||
- name: Arbeitszimmer Bewegungsmelder Batterie
|
||||
fhem_ids:
|
||||
- Arbeitszimmer_Bewegungsmelder
|
||||
fhem_sensor_type: battery
|
||||
- name: Arbeitszimmer Bewegungsmelder Bewegung
|
||||
fhem_ids:
|
||||
- Arbeitszimmer_Bewegungsmelder
|
||||
fhem_sensor_type: motion
|
||||
|
||||
|
||||
sensor:
|
||||
- name: Arbeitszimmer Bewegungsmelder Helligkeit
|
||||
fhem_ids:
|
||||
- Arbeitszimmer_Bewegungsmelder
|
||||
fhem_sensor_type: brightness
|
||||
|
||||
#- name: Pool Pumpe Verbrauch
|
||||
# fhem_sensor_type: power
|
||||
# fhem_ids:
|
||||
# - SteckdosenSchalter_Pwr
|
||||
# - SteckdosenSchalter
|
|
@ -1,8 +1,4 @@
|
|||
# Add only entities here that are auto-discovered (not FHEM and KNX devices)
|
||||
|
||||
#default_view:
|
||||
# view: true
|
||||
# icon: mdi:home
|
||||
# Add only entities here that are auto-discovered (not KNX devices)
|
||||
|
||||
living_area:
|
||||
name: Wohnbereich
|
||||
|
@ -19,10 +15,13 @@ living_area:
|
|||
bedroom:
|
||||
name: Schlafzimmer
|
||||
entities:
|
||||
- light.schlafzimmer_deckenlampe
|
||||
- light.schlafzimmer_fluter
|
||||
- light.bett_martin
|
||||
- light.bett_rebecca
|
||||
- light.schlafzimmer_schrank
|
||||
- cover.schlafzimmer_rollo_gross
|
||||
- cover.schlafzimmer_rollo_klein
|
||||
|
||||
hallway:
|
||||
name: Gang
|
||||
|
@ -45,21 +44,24 @@ outside:
|
|||
office:
|
||||
name: Arbeitszimmer
|
||||
entities:
|
||||
- light.arbeitszimmer_deckenlampe
|
||||
- light.arbeitszimmer_stehlampe_oben
|
||||
- light.arbeitszimmer_stehlampe_unten
|
||||
- light.arbeitszimmer_fluter
|
||||
|
||||
- cover.arbeitszimmer_rollo
|
||||
|
||||
kids_room:
|
||||
name: Kinderzimmer
|
||||
entities:
|
||||
- light.kinderzimmer_fluter
|
||||
- cover.kinderzimmer_rollo
|
||||
|
||||
|
||||
bathroom:
|
||||
name: Bad
|
||||
|
||||
|
||||
|
||||
other:
|
||||
name: Rest
|
||||
|
||||
|
|
|
@ -1,337 +0,0 @@
|
|||
import re
|
||||
import os
|
||||
from ruamel.yaml import YAML
|
||||
|
||||
yaml = YAML()
|
||||
|
||||
# -------------------------------------- put the config here -----------------------------------------------------------
|
||||
|
||||
|
||||
def get_config():
|
||||
return {
|
||||
'bedroom': {
|
||||
'ir_host': 'bedroompi.fritz.box',
|
||||
'media_player': 'media_player.bedroompi',
|
||||
'group': 'group.bedroom',
|
||||
|
||||
'mapping': {
|
||||
'btn_1': '[playlist] Good Morning',
|
||||
'btn_2': '[playlist] Good Night Long',
|
||||
'btn_3': '[playlist] Good Night',
|
||||
|
||||
'btn_4': '[playlist] Bar Classics',
|
||||
'btn_5': '[playlist] Sentimental Moods',
|
||||
'btn_6': '[playlist] Pop',
|
||||
|
||||
'btn_7': '[radio] B 5 aktuell',
|
||||
'btn_8': '[radio] BR-Klassik',
|
||||
'btn_9': '[playlist] http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3', # Klassik Radio
|
||||
|
||||
'key_numeric_star': [
|
||||
*repeat_one_crossfade('media_player.bedroompi'),
|
||||
service('media_player.play_media', 'media_player.bedroompi',
|
||||
media_content_id='Foen', media_content_type='music'),
|
||||
service('media_player.volume_set', 'media_player.bedroompi', volume_level=60),
|
||||
],
|
||||
'btn_0': '[radio] Bayern 3',
|
||||
'key_numeric_pound': '[radio] Bayern 2',
|
||||
|
||||
'key_red': '[scene] schlafzimmer_stillen',
|
||||
'key_green': '[scene] schlafzimmer_orange',
|
||||
'key_yellow': '[scene] schlafzimmer_ganz_hell',
|
||||
'key_blue': '[scene] nachtswennallelieberschlafen',
|
||||
|
||||
'key_tv': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'spotify:playlist:37i9dQZF1DXbcPC6Vvqudd', # Regen
|
||||
'light_off_secs': 15 * 60,
|
||||
'music_off_secs': 45 * 60,
|
||||
'shuffle': 1,
|
||||
})],
|
||||
'key_video': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'Good Night',
|
||||
'light_off_secs': 15 * 60,
|
||||
'music_off_secs': 45 * 60,
|
||||
'shuffle': 0,
|
||||
})],
|
||||
'key_music': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'spotify:playlist:37i9dQZF1DXbcPC6Vvqudd', # Regen
|
||||
'light_off_secs': 5 * 60,
|
||||
'music_off_secs': 20 * 60,
|
||||
'shuffle': 1,
|
||||
})],
|
||||
'key_pictures': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'Good Night',
|
||||
'light_off_secs': 5 * 60,
|
||||
'music_off_secs': 20 * 60,
|
||||
'shuffle': 0,
|
||||
})],
|
||||
|
||||
'key_power': [ # Music & Lights off
|
||||
service('media_player.media_pause', 'media_player.bedroompi'),
|
||||
service('light.turn_off', 'group.bedroom'),
|
||||
],
|
||||
'key_ok': [ # Grosser Rollo zu, kleiner halb zu
|
||||
service('cover.close_cover', 'cover.schlafzimmer_rollo_gross'),
|
||||
service('cover_half.set_half', 'cover.schlafzimmer_rollo_klein'),
|
||||
],
|
||||
'key_mute': [service('light.turn_off', 'group.all_downstairs_but_bedroom_and_outside')],
|
||||
'key_channel': [service('light.turn_off', 'group.all_downstairs_but_bedroom')],
|
||||
}
|
||||
},
|
||||
'living_area': {
|
||||
'ir_host': 'kitchenpi.fritz.box',
|
||||
'media_player': 'media_player.kitchenpi',
|
||||
'group': 'group.living_area',
|
||||
|
||||
'mapping': {
|
||||
'btn_4': '[playlist] Bar Classics',
|
||||
'btn_5': '[playlist] Sentimental Moods',
|
||||
'btn_6': '[playlist] Pop',
|
||||
|
||||
'btn_7': '[radio] B 5 aktuell',
|
||||
'btn_8': '[radio] BR-Klassik',
|
||||
'btn_9': '[playlist] http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3', # Klassik Radio
|
||||
|
||||
'key_numeric_star': '[radio] Antenne Bayern',
|
||||
'btn_0': '[radio] Bayern 3',
|
||||
'key_numeric_pound': '[radio] Bayern 2',
|
||||
|
||||
'key_red': '[scene] wohnbereich_orange',
|
||||
'key_green': '[scene] wohnbereich_grun',
|
||||
'key_yellow': '[scene] wohnbereich_hell',
|
||||
'key_blue': '[scene] wohnbereich_blau_grun',
|
||||
}
|
||||
},
|
||||
'first_floor_dining_room': {
|
||||
'ir_host': 'esszimmerradio.fritz.box',
|
||||
'media_player': 'media_player.esszimmer',
|
||||
'mapping': {
|
||||
'btn_1': '[radio] Bayern 1',
|
||||
'btn_2': '[radio] Bayern 2',
|
||||
'btn_3': '[radio] BR Heimat',
|
||||
'btn_4': '[radio] Bayern+',
|
||||
'btn_5': '[radio] B 5 Aktuell',
|
||||
'btn_6': '[radio] BR-Klassik',
|
||||
'btn_7': '[playlist] Gesammelte Weihnachtslieder',
|
||||
'btn_8': '[playlist] Harmonic Brass Christmas',
|
||||
'btn_9': '[playlist] German Brass Christmas',
|
||||
'key_numeric_star': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'btn_0': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'key_numeric_pound': '[playlist] SammlungGeorg',
|
||||
}
|
||||
},
|
||||
'first_floor_living_room': {
|
||||
'ir_host': 'musikserverWohnzimmerOben.fritz.box',
|
||||
'media_player': 'media_player.wohnzimmer',
|
||||
'mapping': {
|
||||
'btn_1': '[radio] Bayern 1',
|
||||
'btn_2': '[radio] Bayern 2',
|
||||
'btn_3': '[radio] BR Heimat',
|
||||
'btn_4': '[radio] Bayern+',
|
||||
'btn_5': '[radio] B 5 Aktuell',
|
||||
'btn_6': '[radio] BR-Klassik',
|
||||
'btn_7': '[playlist] Gesammelte Weihnachtslieder',
|
||||
'btn_8': '[playlist] Harmonic Brass Christmas',
|
||||
'btn_9': '[playlist] German Brass Christmas',
|
||||
'key_numeric_star': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'btn_0': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'key_numeric_pound': '[playlist] SammlungGeorg',
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
description_regex = re.compile(r'\[\s*(.*)\s*\](.*)')
|
||||
|
||||
|
||||
def split_description(d):
|
||||
res = description_regex.match(d)
|
||||
return res.group(1).strip(), res.group(2).strip()
|
||||
|
||||
|
||||
def default_music_settings(media_player):
|
||||
return [
|
||||
service('media_player.shuffle_set', media_player, shuffle=False),
|
||||
service('media_player.squeezebox_call_method', media_player, command='playlist repeat 0'),
|
||||
service('media_player.squeezebox_call_method', media_player, command="playerpref transitionType 0"),
|
||||
]
|
||||
|
||||
|
||||
def repeat_one_crossfade(media_player):
|
||||
return [
|
||||
service('media_player.repeat_set', media_player, repeat='one'),
|
||||
service('media_player.squeezebox_call_method', media_player, command="playerpref transitionType 1"),
|
||||
]
|
||||
|
||||
|
||||
def automation_from_config(ir_description):
|
||||
ir_host = ir_description['ir_host']
|
||||
|
||||
result = []
|
||||
for key, description in ir_description['mapping'].items():
|
||||
automation = {'alias': f'IR {ir_host} {key}',
|
||||
'trigger': ir_trigger(ir_host, key)}
|
||||
if isinstance(description, list):
|
||||
action = description
|
||||
elif isinstance(description, str):
|
||||
function, value = split_description(description)
|
||||
if function == 'playlist':
|
||||
media_player = ir_description['media_player']
|
||||
action = [*default_music_settings(media_player),
|
||||
service('media_player.play_media', media_player,
|
||||
media_content_id=value, media_content_type='music')]
|
||||
elif function == 'radio':
|
||||
media_player = ir_description['media_player']
|
||||
action = service('media_player.play_media', media_player,
|
||||
media_content_id=value, media_content_type='channel')
|
||||
elif function == 'scene':
|
||||
action = service('scene.turn_on', 'scene.' + value)
|
||||
elif function == 'timed_light_off':
|
||||
group = ir_description['group']
|
||||
action = service('light.turn_off', group, transition=str(60 * int(value)))
|
||||
else:
|
||||
raise ValueError("Invalid prefix " + function)
|
||||
else:
|
||||
raise ValueError("Invalid type for entry " + key)
|
||||
|
||||
automation['action'] = action
|
||||
result.append(automation)
|
||||
return result
|
||||
|
||||
|
||||
def ir_trigger(ir_host, button_name):
|
||||
return {
|
||||
'platform': 'event',
|
||||
'event_type': 'ir_command_received',
|
||||
'event_data': {
|
||||
'button_name': button_name,
|
||||
'repeat_counter': 0,
|
||||
'host': ir_host,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def service(service_name, entity_id, **kwargs):
|
||||
kwargs['entity_id'] = entity_id
|
||||
return {
|
||||
'service': service_name,
|
||||
'data': kwargs
|
||||
}
|
||||
|
||||
|
||||
def default_shutter_controls(device_group, ir_host):
|
||||
"""Default rules for Hauppauge IR for Shutter control with up, down, left, right buttons"""
|
||||
return [
|
||||
{
|
||||
'alias': f'IR {ir_host} Rollo auf',
|
||||
'trigger': ir_trigger(ir_host, 'key_up'),
|
||||
'action': service('cover.open_cover', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Rollo zu',
|
||||
'trigger': ir_trigger(ir_host, 'key_down'),
|
||||
'action': service('cover.close_cover', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Rollo halb',
|
||||
'trigger': [ir_trigger(ir_host, 'key_left'), ir_trigger(ir_host, 'key_right')],
|
||||
'action': service('cover_half.set_half', device_group),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def default_light_controls(device_group, ir_host):
|
||||
"""Default light rules for Hauppauge IR for light dimming with channel up/down and light off with stop button"""
|
||||
return [
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht heller',
|
||||
'trigger': ir_trigger(ir_host, 'key_channelup'),
|
||||
'action': service('dimmer.dim', device_group, offset=30),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht dunkler',
|
||||
'trigger': ir_trigger(ir_host, 'key_channeldown'),
|
||||
'action': service('dimmer.dim', device_group, offset=-30),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht viel heller',
|
||||
'trigger': ir_trigger(ir_host, 'key_menu'),
|
||||
'action': service('dimmer.dim', device_group, offset=130),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht viel dunkler',
|
||||
'trigger': ir_trigger(ir_host, 'key_stop'),
|
||||
'action': service('dimmer.dim', device_group, offset=-130),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht aus',
|
||||
'trigger': ir_trigger(ir_host, 'key_goto'),
|
||||
'action': service('light.turn_off', device_group),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def default_music_controls(device_group, ir_host):
|
||||
"""Default music control (play, pause, next) for Hauppauge IR"""
|
||||
return [
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Play',
|
||||
'trigger': ir_trigger(ir_host, 'key_play'),
|
||||
'action': service('media_player.media_play_pause', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Pause',
|
||||
'trigger': ir_trigger(ir_host, 'key_pause'),
|
||||
'action': service('media_player.turn_off', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Next',
|
||||
'trigger': [ir_trigger(ir_host, 'key_forward'), ir_trigger(ir_host, 'key_fastforward')],
|
||||
'action': service('media_player.media_next_track', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Prev',
|
||||
'trigger': [ir_trigger(ir_host, 'key_previous'), ir_trigger(ir_host, 'key_rewind')],
|
||||
'action': service('media_player.media_next_track', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Vol Up',
|
||||
'trigger': ir_trigger(ir_host, 'key_volumeup'),
|
||||
'action': service('media_player.volume_up', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Vol Down',
|
||||
'trigger': ir_trigger(ir_host, 'key_volumedown'),
|
||||
'action': service('media_player.volume_down', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Shuffle On',
|
||||
'trigger': ir_trigger(ir_host, 'key_menu'),
|
||||
'action': service('media_player.shuffle_set', device_group, shuffle=True),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Shuffle Off',
|
||||
'trigger': ir_trigger(ir_host, 'key_exit'),
|
||||
'action': service('media_player.shuffle_set', device_group, shuffle=False),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def create_rules(folder):
|
||||
for name, data in get_config().items():
|
||||
rules = []
|
||||
rules += automation_from_config(data)
|
||||
|
||||
if 'group' in data:
|
||||
rules += default_shutter_controls(data['group'], data['ir_host'])
|
||||
rules += default_light_controls(data['group'], data['ir_host'])
|
||||
if 'media_player' in data:
|
||||
rules += default_music_controls(data['media_player'], data['ir_host'])
|
||||
|
||||
file_name = os.path.join(folder, "ir_" + name + '.yaml')
|
||||
with open(file_name, 'w') as f:
|
||||
f.write("# Dont' edit manually! this is generated!\n\n")
|
||||
yaml.dump(rules, f)
|
|
@ -3,7 +3,6 @@ import argparse
|
|||
from util import DeviceInfo, add_to_group, name_to_id
|
||||
from ruamel.yaml import YAML
|
||||
import knx_conf as knx
|
||||
from ir_automations import create_rules as create_automation_rules
|
||||
|
||||
script_path = os.path.dirname(os.path.realpath(__file__))
|
||||
yaml = YAML()
|
||||
|
@ -13,8 +12,8 @@ yaml.preserve_quotes = True
|
|||
sensor_exclude_list = [
|
||||
'sensor.fritz_box_7490_bytes_received',
|
||||
'sensor.fritz_box_7490_bytes_sent',
|
||||
#'sensor.fritz_box_7490_kbyte_sec_received',
|
||||
#'sensor.fritz_box_7490_kbyte_sec_sent',
|
||||
# 'sensor.fritz_box_7490_kbyte_sec_received',
|
||||
# 'sensor.fritz_box_7490_kbyte_sec_sent',
|
||||
'sensor.fritz_box_7490_packets_received',
|
||||
'sensor.fritz_box_7490_packets_sec_received',
|
||||
'sensor.fritz_box_7490_packets_sec_sent',
|
||||
|
@ -51,7 +50,7 @@ def add_knx_devices(devices, groups):
|
|||
DeviceInfo('AussenleuchteHaustüren', 'Haustür Licht', 'outside'),
|
||||
DeviceInfo('AussenleuchteObenNW', 'Haustür Licht NW', 'first_floor'),
|
||||
DeviceInfo('TreppenhausLicht', "Treppenhaus Licht", 'first_floor'),
|
||||
DeviceInfo('WCLicht', "WC Licht", 'other'),
|
||||
#DeviceInfo('WCLicht', "WC Licht", 'other'),
|
||||
DeviceInfo('LampeVorratsraum', "Vorratsraum Licht", 'other'),
|
||||
# Bewegungsmelder LEDs
|
||||
DeviceInfo("BewegungsmelderMitte LED", "Bewegungsmelder Mitte LED", 'hallway'),
|
||||
|
@ -82,7 +81,8 @@ def add_knx_devices(devices, groups):
|
|||
switches += [DeviceInfo("AlarmLEDLinksNormal", "alarm_led_links_normal"),
|
||||
DeviceInfo("AlarmLEDLinksUeberlagert", "alarm_led_links_ueberlagert"),
|
||||
DeviceInfo("AlarmLEDRechtsNormal", "alarm_led_rechts_normal"),
|
||||
DeviceInfo("AlarmLEDRechtsUeberlagert", "alarm_led_rechts_ueberlagert"),]
|
||||
DeviceInfo("AlarmLEDRechtsUeberlagert", "alarm_led_rechts_ueberlagert"),
|
||||
DeviceInfo("WCLicht Schalten", "wc_licht_taster"), ]
|
||||
|
||||
power_plugs = [
|
||||
# Vorratsraum
|
||||
|
@ -161,21 +161,7 @@ def add_knx_devices(devices, groups):
|
|||
for device_type, devices in [('light', lights), ('cover', shutters), ('switch', switches)]:
|
||||
for device in devices:
|
||||
add_to_group(groups, device.groups, device.display_name, device_type)
|
||||
return template_sensors
|
||||
|
||||
|
||||
def add_fhem_devices(devices, groups):
|
||||
fhem_yaml_path = os.path.join(script_path, 'fhem.yaml')
|
||||
fhem_yaml = yaml.load(open(fhem_yaml_path, encoding="utf-8"))
|
||||
for device_type, device_list in fhem_yaml.items():
|
||||
if device_type not in devices:
|
||||
devices[device_type] = []
|
||||
for device in device_list:
|
||||
device['platform'] = 'fhem'
|
||||
if 'groups' in device:
|
||||
add_to_group(groups, device['groups'], device['name'], device_type)
|
||||
del device['groups']
|
||||
devices[device_type].append(device)
|
||||
return template_sensors
|
||||
|
||||
|
||||
def add_meta_groups(groups):
|
||||
|
@ -268,22 +254,22 @@ def create_config(target_directory, development=False):
|
|||
manual_config_dict = yaml.load(open(manual_config_path, encoding="utf-8"))
|
||||
|
||||
knx_conf = {
|
||||
'rate_limit': 20,
|
||||
'tunneling': {
|
||||
'host': '192.168.178.65',
|
||||
'port': 3671
|
||||
}
|
||||
#'tunneling': {
|
||||
# 'host': '192.168.178.65',
|
||||
# 'port': 3671
|
||||
#}
|
||||
}
|
||||
template_sensors = add_knx_devices(knx_conf, group_dict)
|
||||
|
||||
|
||||
all_devices = {}
|
||||
all_devices.update(template_sensors)
|
||||
add_fhem_devices(all_devices, group_dict)
|
||||
|
||||
with open(os.path.join(target_directory, 'configuration.yaml'), 'w', encoding="utf-8") as output:
|
||||
output.write("# Dont' edit manually! this is generated!\n\n")
|
||||
for key in ['sensor', 'switch', 'light', 'cover', 'binary_sensor']:
|
||||
if key in manual_config_dict:
|
||||
if key not in all_devices:
|
||||
all_devices[key] = []
|
||||
all_devices[key].extend(manual_config_dict[key])
|
||||
del manual_config_dict[key]
|
||||
yaml.dump(manual_config_dict, output)
|
||||
|
@ -309,8 +295,6 @@ def create_config(target_directory, development=False):
|
|||
additional_file = 'secrets_development.yaml' if development else 'secrets_deploy.yaml'
|
||||
output.write(open(os.path.join(script_path, additional_file), 'r').read())
|
||||
|
||||
create_automation_rules(os.path.join(target_directory, 'automations'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser()
|
||||
|
|
|
@ -2,32 +2,34 @@
|
|||
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||
#default_config:
|
||||
frontend:
|
||||
themes: !include_dir_merge_named themes
|
||||
|
||||
mobile_app:
|
||||
person:
|
||||
sun:
|
||||
system_health:
|
||||
updater:
|
||||
#logbook:
|
||||
|
||||
#input_boolean:
|
||||
#input_datetime:
|
||||
#input_number:
|
||||
#input_select:
|
||||
#input_text:
|
||||
|
||||
|
||||
ondilo:
|
||||
username: customer_api
|
||||
password: !secret ondilo_pw
|
||||
input_boolean:
|
||||
input_datetime:
|
||||
input_number:
|
||||
input_select:
|
||||
input_text:
|
||||
timer:
|
||||
|
||||
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
|
||||
http:
|
||||
base_url: https://ha.bauer.tech
|
||||
use_x_forwarded_for: true
|
||||
trusted_proxies:
|
||||
192.168.178.80
|
||||
|
||||
|
||||
homeassistant:
|
||||
name: MyHome
|
||||
latitude: 49.369477
|
||||
longitude: 10.9831468
|
||||
country: DE
|
||||
currency: EUR
|
||||
external_url: https://ha.bauer.tech
|
||||
internal_url: https://ha.bauer.tech
|
||||
auth_mfa_modules:
|
||||
|
@ -53,6 +55,8 @@ homeassistant:
|
|||
half_position: 25
|
||||
|
||||
|
||||
pyscript: !include pyscript/config.yaml
|
||||
|
||||
# enable configuration editor
|
||||
config:
|
||||
|
||||
|
@ -106,9 +110,15 @@ influxdb:
|
|||
|
||||
|
||||
ios:
|
||||
shopping_list:
|
||||
|
||||
|
||||
octoprint:
|
||||
- host: 192.168.178.134
|
||||
api_key: !secret octopi_api_key
|
||||
name: PrusaPrinter
|
||||
number_of_tools: 1
|
||||
bed: true
|
||||
|
||||
telegram_bot:
|
||||
- platform: webhooks
|
||||
parse_mode: html
|
||||
|
@ -146,94 +156,6 @@ switch:
|
|||
name: esszimmer_oben_radio_steckdose
|
||||
host: esszimmerradio.fritz.box
|
||||
num_power_plugs: 4
|
||||
- platform: mqtt
|
||||
name: PoolPumpeSteckdose
|
||||
state_topic: "stat/poolpumpesteckdose/POWER"
|
||||
command_topic: "cmnd/poolpumpesteckdose/POWER"
|
||||
availability_topic: "tele/poolpumpesteckdose/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota01
|
||||
state_topic: "stat/tasmota01/POWER"
|
||||
command_topic: "cmnd/tasmota01/POWER"
|
||||
availability_topic: "tele/tasmota01/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota02
|
||||
state_topic: "stat/tasmota02/POWER"
|
||||
command_topic: "cmnd/tasmota02/POWER"
|
||||
availability_topic: "tele/tasmota02/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota03
|
||||
state_topic: "stat/tasmota03/POWER"
|
||||
command_topic: "cmnd/tasmota03/POWER"
|
||||
availability_topic: "tele/tasmota03/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota04
|
||||
state_topic: "stat/tasmota04/POWER"
|
||||
command_topic: "cmnd/tasmota04/POWER"
|
||||
availability_topic: "tele/tasmota04/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota05
|
||||
state_topic: "stat/tasmota05/POWER"
|
||||
command_topic: "cmnd/tasmota05/POWER"
|
||||
availability_topic: "tele/tasmota05/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota06
|
||||
state_topic: "stat/tasmota06/POWER"
|
||||
command_topic: "cmnd/tasmota06/POWER"
|
||||
availability_topic: "tele/tasmota06/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota07
|
||||
state_topic: "stat/tasmota07/POWER"
|
||||
command_topic: "cmnd/tasmota07/POWER"
|
||||
availability_topic: "tele/tasmota07/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
|
||||
long_click:
|
||||
duration: 0.6
|
||||
|
@ -250,6 +172,8 @@ long_click:
|
|||
- switch.wohnzimmer_szene_3
|
||||
- switch.wohnzimmer_szene_4
|
||||
- switch.wohnzimmer_szene_5
|
||||
- switch.wohnzimmer_terrassentur_szene_2
|
||||
- switch.wohnzimmer_terrassentur_szene_3
|
||||
- switch.eingang_szene_2
|
||||
- switch.eingang_szene_3
|
||||
- switch.eingang_szene_4
|
||||
|
@ -258,10 +182,9 @@ long_click:
|
|||
logger:
|
||||
default: info
|
||||
logs:
|
||||
custom_components.fhem: debug
|
||||
#custom_components: debug
|
||||
#custom_components.reconnecting_client: debug
|
||||
|
||||
custom_components: info
|
||||
# #custom_components.reconnecting_client: debug
|
||||
#
|
||||
# Sensors
|
||||
#sensor:
|
||||
# Weather prediction
|
||||
|
@ -436,14 +359,42 @@ google_assistant:
|
|||
|
||||
knx: !include knx_conf.yaml
|
||||
|
||||
fhem:
|
||||
host: localhost
|
||||
port: 7072
|
||||
cul_device_name: CUL_HM
|
||||
homematic:
|
||||
interfaces:
|
||||
rf:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 2001
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
wired:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 2000
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
hmip:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 2010
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
groups:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 9292
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
path: /groups
|
||||
hosts:
|
||||
raspberrymatic:
|
||||
host: de838cd8-raspberrymatic
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
|
||||
zwave:
|
||||
usb_path: /dev/serial/by-id/usb-0658_0200-if00
|
||||
network_key: "0xE0, 0x64, 0x50, 0x55, 0x20, 0x63, 0xC7, 0x05, 0x62, 0xD3, 0xEA, 0x91, 0x87, 0xE0, 0x1E, 0x74"
|
||||
#zwave:
|
||||
# usb_path: /dev/serial/by-id/usb-0658_0200-if00
|
||||
# network_key: "0xE0, 0x64, 0x50, 0x55, 0x20, 0x63, 0xC7, 0x05, 0x62, 0xD3, 0xEA, 0x91, 0x87, 0xE0, 0x1E, 0x74"
|
||||
|
||||
|
||||
sysdweb:
|
||||
|
@ -511,24 +462,19 @@ media_player:
|
|||
- platform: squeezebox_telnet
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
|
||||
# set up via frontend :(
|
||||
#vacuum:
|
||||
# - platform: xiaomi_miio
|
||||
# host: vacuum.fritz.box
|
||||
# token: !secret vacuum_token
|
||||
|
||||
#mqtt:
|
||||
# sensor:
|
||||
# - state_topic: 'monitor/kitchen/martin_handy'
|
||||
# value_template: '{{ value_json.confidence }}'
|
||||
# unit_of_measurement: '%'
|
||||
# name: 'bluetooth_martin_handy_kitchen'
|
||||
# - state_topic: 'monitor/kitchen/martin_ipad'
|
||||
# value_template: '{{ value_json.confidence }}'
|
||||
# unit_of_measurement: '%'
|
||||
# name: 'bluetooth_martin_ipad_kitchen'
|
||||
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
state_topic: 'monitor/kitchen/martin_handy'
|
||||
value_template: '{{ value_json.confidence }}'
|
||||
unit_of_measurement: '%'
|
||||
name: 'bluetooth_martin_handy_kitchen'
|
||||
- platform: mqtt
|
||||
state_topic: 'monitor/kitchen/martin_ipad'
|
||||
value_template: '{{ value_json.confidence }}'
|
||||
unit_of_measurement: '%'
|
||||
name: 'bluetooth_martin_ipad_kitchen'
|
||||
- platform: template
|
||||
sensors:
|
||||
motion_combined:
|
||||
|
@ -604,7 +550,7 @@ light:
|
|||
- platform: group
|
||||
name: Garten Lichter
|
||||
entities:
|
||||
- light.garten_spot_birke
|
||||
- light.garten_vorne
|
||||
- light.garten_spot_magnolie
|
||||
- light.garten_spot_beet
|
||||
- light.garten_stehleuchte
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
local_ip: 127.0.0.1
|
||||
knxd_host: 127.0.0.1 #directly the network bridge: 192.168.178.65
|
||||
homekit_name: BauerHome
|
||||
octopi_api_key: B5E3F837799448449BB5FF2E22116504
|
||||
homematic_pw: T3wKLzoGUzIX2yb2VEgH
|
|
@ -1,3 +1,5 @@
|
|||
local_ip: 192.168.178.78
|
||||
knxd_host: 192.168.178.80 #directly the network bridge: 192.168.178.65
|
||||
homekit_name: BauerHomeDev
|
||||
octopi_api_key: B5E3F837799448449BB5FF2E22116504
|
||||
homematic_pw: T3wKLzoGUzIX2yb2VEgH
|
||||
|
|
|
@ -1,78 +0,0 @@
|
|||
import asyncio
|
||||
import logging
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_USERNAME, CONF_PASSWORD
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import config_entry_oauth2_flow, config_validation as cv
|
||||
|
||||
from . import config_flow
|
||||
from .const import DOMAIN, OAUTH2_AUTHORIZE, OAUTH2_TOKEN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema(
|
||||
{
|
||||
DOMAIN: vol.Schema(
|
||||
{
|
||||
vol.Required(CONF_USERNAME): cv.string,
|
||||
vol.Required(CONF_PASSWORD): cv.string,
|
||||
}
|
||||
)
|
||||
},
|
||||
extra=vol.ALLOW_EXTRA,
|
||||
)
|
||||
|
||||
PLATFORMS = ["sensor"]
|
||||
|
||||
|
||||
async def async_setup(hass: HomeAssistant, config: dict):
|
||||
"""Set up the ondilo component."""
|
||||
hass.data[DOMAIN] = {}
|
||||
print("Init1")
|
||||
if DOMAIN not in config:
|
||||
print("Init early out")
|
||||
return True
|
||||
|
||||
config_flow.OndiloFlowHandler.async_register_implementation(
|
||||
hass,
|
||||
config_entry_oauth2_flow.LocalOAuth2Implementation(
|
||||
hass,
|
||||
DOMAIN,
|
||||
config[DOMAIN][CONF_USERNAME],
|
||||
config[DOMAIN][CONF_PASSWORD],
|
||||
OAUTH2_AUTHORIZE,
|
||||
OAUTH2_TOKEN,
|
||||
),
|
||||
)
|
||||
print("init finish")
|
||||
return True
|
||||
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry):
|
||||
"""Set up ondilo from a config entry."""
|
||||
implementation = await config_entry_oauth2_flow.async_get_config_entry_implementation(
|
||||
hass, entry
|
||||
)
|
||||
session = config_entry_oauth2_flow.OAuth2Session(hass, entry, implementation)
|
||||
hass.data[DOMAIN] = {"session": session}
|
||||
hass.async_create_task(hass.config_entries.async_forward_entry_setup(entry, "sensor"))
|
||||
return True
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
|
||||
"""Unload a config entry."""
|
||||
unload_ok = all(
|
||||
await asyncio.gather(
|
||||
*[
|
||||
hass.config_entries.async_forward_entry_unload(entry, component)
|
||||
for component in PLATFORMS
|
||||
]
|
||||
)
|
||||
)
|
||||
if unload_ok:
|
||||
hass.data[DOMAIN] = {}
|
||||
|
||||
return unload_ok
|
|
@ -1,35 +0,0 @@
|
|||
"""Config flow for Ondilo."""
|
||||
import logging
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.helpers import config_entry_oauth2_flow
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class OndiloFlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
|
||||
"""Config flow to handle Ondilo OAuth2 authentication."""
|
||||
|
||||
DOMAIN = DOMAIN
|
||||
CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
|
||||
|
||||
@property
|
||||
def logger(self) -> logging.Logger:
|
||||
"""Return logger."""
|
||||
return logging.getLogger(__name__)
|
||||
|
||||
async def async_step_user(self, user_input=None):
|
||||
"""Handle a flow start."""
|
||||
print("async_step_user!!")
|
||||
if self.hass.config_entries.async_entries(DOMAIN):
|
||||
print("abort because already setup")
|
||||
return self.async_abort(reason="already_setup")
|
||||
print("works!")
|
||||
return await super().async_step_user(user_input)
|
||||
|
||||
async def async_step_homekit(self, homekit_info):
|
||||
"""Handle HomeKit discovery."""
|
||||
print("async_step_homekit!!")
|
||||
return await self.async_step_user()
|
|
@ -1,4 +0,0 @@
|
|||
DOMAIN = "ondilo"
|
||||
OAUTH2_AUTHORIZE = "https://interop.ondilo.com/oauth2/authorize"
|
||||
OAUTH2_TOKEN = "https://interop.ondilo.com/oauth2/token"
|
||||
URL_API_PREFIX = "https://interop.ondilo.com/api/customer/v1"
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"domain": "ondilo",
|
||||
"name": "Ondilo Pool Monitor",
|
||||
"documentation": "",
|
||||
"requirements": [],
|
||||
"dependencies": [],
|
||||
"codeowners": ["@mabau"],
|
||||
"config_flow": true,
|
||||
"version": "0.1"
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
|
||||
from .const import DOMAIN, URL_API_PREFIX
|
||||
from datetime import timedelta
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.util import Throttle
|
||||
import logging
|
||||
|
||||
MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=5)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def api_call(session, url, data={}):
|
||||
return await session.async_request(method="GET",
|
||||
url=f"{URL_API_PREFIX}/{url}",
|
||||
json=data).json()
|
||||
|
||||
|
||||
class OndiloData:
|
||||
def __init__(self, session):
|
||||
self._session = session
|
||||
|
||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
||||
async def async_update(self):
|
||||
pass
|
||||
|
||||
|
||||
class PHSensor(Entity):
|
||||
def __init__(self, data):
|
||||
self._data = data
|
||||
|
||||
async def async_update(self):
|
||||
self._data.async_update()
|
||||
|
||||
|
||||
class ORPSensor(Entity):
|
||||
def __init__(self, data):
|
||||
self._data = data
|
||||
|
||||
async def async_update(self):
|
||||
self._data.async_update()
|
||||
|
||||
|
||||
async def async_setup_entry(hass, entry, async_add_entities):
|
||||
session = hass.data[DOMAIN]['session']
|
||||
res = await api_call(session, "pools")
|
||||
print(res)
|
||||
_LOGGER.warn(res)
|
||||
# data = OndiloData(session)
|
||||
# get pools
|
||||
# sensors = [PHSensor(data), ORPSensor(data)]
|
||||
# async_add_entities(sensors)
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
{
|
||||
"domain": "sysdweb",
|
||||
"name": "sysdweg",
|
||||
"name": "sysdweb",
|
||||
"documentation": "",
|
||||
"dependencies": [],
|
||||
"codeowners": ["@mabau"],
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -87,10 +87,12 @@ export class RoomGlanceCard extends LitElement {
|
|||
return html`
|
||||
<ha-icon-button
|
||||
icon="${buttonCfg.icon || "mdi:checkbox-blank"}"
|
||||
style="color: ${buttonCfg.color || ""};"
|
||||
title="${buttonCfg.name}"
|
||||
@click=${this.serviceHandler("scene", "turn_on", {entity_id: buttonCfg.scene})}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon style="color: ${buttonCfg.color || ""};"
|
||||
icon="${buttonCfg.icon || "mdi:checkbox-blank"}"></ha-icon>
|
||||
</ha-icon-button>
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -99,18 +101,24 @@ export class RoomGlanceCard extends LitElement {
|
|||
<ha-icon-button
|
||||
icon="mdi:close-circle"
|
||||
@click=${this.serviceHandler("light", "turn_off")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="mdi:close-circle"></ha-icon>
|
||||
</ha-icon-button>
|
||||
|
||||
<ha-icon-button
|
||||
icon="mdi:chevron-up"
|
||||
title="Heller"
|
||||
@click=${this.serviceHandler("dimmer", "dim", {offset: 30})}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="mdi:chevron-up"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="mdi:chevron-down"
|
||||
title="Dunkler"
|
||||
@click=${this.serviceHandler("dimmer", "dim", {offset: -30})}
|
||||
></ha-icon-button>`;
|
||||
>
|
||||
<ha-icon icon="mdi:chevron-down"></ha-icon>
|
||||
</ha-icon-button>`;
|
||||
}
|
||||
|
||||
private renderCoverControl() {
|
||||
|
@ -118,19 +126,27 @@ export class RoomGlanceCard extends LitElement {
|
|||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.serviceHandler("cover_half", "set_half")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@click=${this.serviceHandler("cover", "open_cover")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-up"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:stop"
|
||||
@click=${this.serviceHandler("cover", "stop_cover")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:stop"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.serviceHandler("cover", "close_cover")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"></ha-icon>
|
||||
</ha-icon-button>
|
||||
`;
|
||||
}
|
||||
|
||||
|
@ -227,9 +243,7 @@ export class RoomGlanceCard extends LitElement {
|
|||
}
|
||||
|
||||
ha-icon {
|
||||
cursor: pointer;
|
||||
padding: 8px;
|
||||
color: #a9a9a9;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
ha-icon.state-on {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),u="$lit$";class d{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,u)&&i++;for(;i-- >0;){const e=l[a],s=y.exec(e)[2],i=s.toLowerCase()+u,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=y.exec(r);null!==t&&_(t[2],u)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-u.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
|
||||
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),u="$lit$";class d{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,u)&&i++;for(;i-- >0;){const e=l[a],s=g.exec(e)[2],i=s.toLowerCase()+u,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=g.exec(r);null!==t&&_(t[2],u)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-u.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),g=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -26,7 +26,7 @@ const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.custom
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
class y{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -39,7 +39,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
|
|||
* Code distributed by Google as part of the polymer project is also
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=y.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+u+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
|
||||
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=g.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+u+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -53,7 +53,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof g&&this.value.template===e)this.value.update(t.values);else{const s=new g(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const j=t=>t&&(N?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof y&&this.value.template===e)this.value.update(t.values);else{const s=new y(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const j=t=>t&&(N?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -162,7 +162,7 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?rt?this.renderRoot.adoptedStyleSheets=t.map(t=>t.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){super.update(t);const e=this.render();e instanceof v&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)}))}render(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof g&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?rt?this.renderRoot.adoptedStyleSheets=t.map(t=>t.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){super.update(t);const e=this.render();e instanceof v&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)}))}render(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof y&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
State info template
|
||||
`}render(){if(!this._config||!this.hass)return R``;const t=this.entityObj,e=this.hass.states[this._config.entity];return e?R`
|
||||
<style include="iron-flex iron-flex-alignment"></style>
|
||||
|
@ -173,6 +173,16 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
|||
.state {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
ha-icon-button {
|
||||
width: 35px;
|
||||
--mdc-icon-size: 25px;
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[invisible] {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
@ -183,21 +193,23 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
|||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.onHalfOpenTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@click=${this.onOpenTap}
|
||||
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
|
||||
></ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:stop"
|
||||
@click=${this.onStopTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-up"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.onCloseTap}
|
||||
.disabled="${this.computeClosedDisabled(e,t)}"
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`:R`
|
||||
|
|
|
@ -77,6 +77,16 @@ export class StateCardCustomCover extends LitElement {
|
|||
.state {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
ha-icon-button {
|
||||
width: 35px;
|
||||
--mdc-icon-size: 25px;
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[invisible] {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
@ -87,21 +97,23 @@ export class StateCardCustomCover extends LitElement {
|
|||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.onHalfOpenTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@click=${this.onOpenTap}
|
||||
.disabled="${this.computeOpenDisabled(stateObj, this.entityObj)}"
|
||||
></ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:stop"
|
||||
@click=${this.onStopTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-up"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.onCloseTap}
|
||||
.disabled="${this.computeClosedDisabled(stateObj, entityObj)}"
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
|
|
|
@ -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:
|
||||
light.kuche_deckenlampe:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 38
|
||||
state: false
|
||||
light.esszimmer_schrankleuchte:
|
||||
state: false
|
||||
light.kuche_links:
|
||||
|
@ -92,6 +91,9 @@
|
|||
- name: Küche Essbereich Hell
|
||||
id: kueche_essbereich_hell
|
||||
entities:
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 255
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 255
|
||||
|
|
|
@ -3,16 +3,15 @@
|
|||
entities:
|
||||
light.kuche_deckenlampe:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.wohnzimmer_deckenlampe:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 38
|
||||
state: false
|
||||
light.esszimmer_schrankleuchte:
|
||||
state: false
|
||||
light.kuche_links:
|
||||
|
@ -68,8 +67,7 @@
|
|||
state: true
|
||||
brightness: 38
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 38
|
||||
state: false
|
||||
light.esszimmer_schrankleuchte:
|
||||
state: false
|
||||
light.kuche_links:
|
||||
|
@ -184,6 +182,9 @@
|
|||
- name: Wohnbereich Hell
|
||||
id: wohnbereich_hell
|
||||
entities:
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 255
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 255
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,7 +12,7 @@
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),u="$lit$";class d{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,u)&&i++;for(;i-- >0;){const e=l[a],s=y.exec(e)[2],i=s.toLowerCase()+u,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=y.exec(r);null!==t&&_(t[2],u)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-u.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
|
||||
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),u="$lit$";class d{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,u)&&i++;for(;i-- >0;){const e=l[a],s=g.exec(e)[2],i=s.toLowerCase()+u,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=g.exec(r);null!==t&&_(t[2],u)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-u.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),g=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -26,7 +26,7 @@ const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.custom
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
class y{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -39,7 +39,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
|
|||
* Code distributed by Google as part of the polymer project is also
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=y.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+u+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
|
||||
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=g.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+u+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -53,7 +53,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof g&&this.value.template===e)this.value.update(t.values);else{const s=new g(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const j=t=>t&&(N?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof y&&this.value.template===e)this.value.update(t.values);else{const s=new y(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const j=t=>t&&(N?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
|
@ -162,7 +162,7 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
|||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?rt?this.renderRoot.adoptedStyleSheets=t.map(t=>t.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){super.update(t);const e=this.render();e instanceof v&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)}))}render(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof g&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?rt?this.renderRoot.adoptedStyleSheets=t.map(t=>t.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){super.update(t);const e=this.render();e instanceof v&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)}))}render(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof y&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
State info template
|
||||
`}render(){if(!this._config||!this.hass)return R``;const t=this.entityObj,e=this.hass.states[this._config.entity];return e?R`
|
||||
<style include="iron-flex iron-flex-alignment"></style>
|
||||
|
@ -173,6 +173,16 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
|||
.state {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
ha-icon-button {
|
||||
width: 35px;
|
||||
--mdc-icon-size: 25px;
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[invisible] {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
@ -183,21 +193,23 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
|||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.onHalfOpenTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@click=${this.onOpenTap}
|
||||
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
|
||||
></ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:stop"
|
||||
@click=${this.onStopTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-up"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.onCloseTap}
|
||||
.disabled="${this.computeClosedDisabled(e,t)}"
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`:R`
|
||||
|
|
|
@ -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