Compare commits
No commits in common. "default" and "master" have entirely different histories.
|
@ -1 +1 @@
|
||||||
2020.12.1
|
0.118.5
|
|
@ -1,2 +1,7 @@
|
||||||
*.db
|
/.cloud/
|
||||||
|
*.js.gz
|
||||||
*.log
|
*.log
|
||||||
|
*.db
|
||||||
|
.gitsecret/keys/random_seed
|
||||||
|
!*.secret
|
||||||
|
secrets.yaml
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
secrets.yaml:fc78becc67bfb934dca66f15d286a3406e85527b2b5f6e6a8c9814ac7f9da21a
|
1054
.storage/auth
1054
.storage/auth
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +1,24 @@
|
||||||
{
|
{
|
||||||
"version": 1,
|
|
||||||
"key": "auth_provider.homeassistant",
|
|
||||||
"data": {
|
"data": {
|
||||||
"users": [
|
"users": [
|
||||||
{
|
{
|
||||||
"username": "sysadmin",
|
"password": "JDJiJDEyJEROU05qSFRuRE5RRHJ6RUFjQ1pwUy5qcGN3TlNnaDU0ZUdjUnFxdWFZQVFZamEzTnZ3LjBT",
|
||||||
"password": "JDJiJDEyJDJIU0ljcWRvUGppSWl5N1JrMjV3cXViaE9RcjRYL3NlMUFtczRSdFRxaTZPZ2F4aFV5RGFt"
|
"username": "sysadmin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"password": "JDJiJDEyJFd3Tnh0ZlVZb21iQmlKaGs1RnVhai5OSlFLNWNKVU92a2ZNTWVKdEhzb0hQTWF0eDRXTjRl",
|
||||||
|
"username": "trish"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"password": "JDJiJDEyJDR6elRTeWxORHNMclFzSFJ3N0ZiNC4ucmUyUmZ4TEVFRHNJekpmcXNWUm1EOS45cGoveFAy",
|
||||||
|
"username": "irrigation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"password": "JDJiJDEyJDZMclNZSy5pSGY5QVdNZ0JhVWF4UHUwUVdsbGhsRGJHeUhDWlZ0ZHVLdUtOdFdDTGRJVlZl",
|
||||||
|
"username": "test"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"key": "auth_provider.homeassistant",
|
||||||
|
"version": 1
|
||||||
}
|
}
|
|
@ -5,15 +5,19 @@
|
||||||
"areas": [
|
"areas": [
|
||||||
{
|
{
|
||||||
"name": "Living Room",
|
"name": "Living Room",
|
||||||
"id": "living_room"
|
"id": "5c6c9f7bb2af43a4afa8851308f8e10a"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Kitchen",
|
"name": "Kitchen",
|
||||||
"id": "kitchen"
|
"id": "82805bb0656b443ea5c7fdc7a762a7aa"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Bedroom",
|
"name": "Bedroom",
|
||||||
"id": "bedroom"
|
"id": "13ef8995699f4a04b79b02119ba2d2dd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Outside",
|
||||||
|
"id": "2db036c4c7fcbe96bbf9e7f8b76ad207"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"key": "core.config",
|
"key": "core.config",
|
||||||
"data": {
|
"data": {
|
||||||
"latitude": 41.64007838467894,
|
"latitude": 44.46097018572946,
|
||||||
"longitude": -100.89843750000001,
|
"longitude": -118.71158838272095,
|
||||||
"elevation": 0,
|
"elevation": 0,
|
||||||
"unit_system": "imperial",
|
"unit_system": "imperial",
|
||||||
"location_name": "Home",
|
"location_name": "238 McHaley",
|
||||||
"time_zone": "UTC",
|
"time_zone": "America/Los_Angeles",
|
||||||
"external_url": null,
|
"external_url": null,
|
||||||
"internal_url": null
|
"internal_url": "https://ha.238.kebler.net"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,18 +4,215 @@
|
||||||
"data": {
|
"data": {
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"entry_id": "6dc0336bb0e637a0356a74ad6fda5078",
|
"entry_id": "2872c3dbbf1246c2b7aab8c616984183",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"domain": "met",
|
"domain": "mobile_app",
|
||||||
"title": "Home",
|
"title": "700T1C",
|
||||||
"data": {
|
"data": {
|
||||||
"track_home": true
|
"app_data": {
|
||||||
|
"push_token": "fCP75bxzpBY:APA91bGOZjg0ObYy1-QJs8VJxqU-AQbNpQ1fz2Gc485DjxBsZ1LAsdLaZTJ3vgbgQ98Qt3jO0Xv4yfaLM4uiGunzKs4_iCrV-KAU2Qul5zN_dmQ6LVqo2PDMPSUZkAqRF7Ip5u9zz88F",
|
||||||
|
"push_url": "https://mobile-apps.home-assistant.io/api/sendPush/android/v1"
|
||||||
|
},
|
||||||
|
"app_id": "io.homeassistant.companion.android",
|
||||||
|
"app_name": "Home Assistant",
|
||||||
|
"app_version": "2.5.0-full (400)",
|
||||||
|
"device_id": "6cb92e1b94d47217",
|
||||||
|
"device_name": "700T1C",
|
||||||
|
"manufacturer": "SAMSUNG ELECTRONICS CO., LTD.",
|
||||||
|
"model": "700T1C",
|
||||||
|
"os_name": "Android",
|
||||||
|
"os_version": "28",
|
||||||
|
"supports_encryption": false,
|
||||||
|
"user_id": "99685dc45d9f40dc8183e11ce5128038",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
},
|
},
|
||||||
"options": {},
|
"options": {},
|
||||||
"system_options": {
|
"system_options": {
|
||||||
"disable_new_entities": false
|
"disable_new_entities": false
|
||||||
},
|
},
|
||||||
"source": "onboarding",
|
"source": "registration",
|
||||||
|
"connection_class": "cloud_push",
|
||||||
|
"unique_id": "io.homeassistant.companion.android-6cb92e1b94d47217"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "f2587c6a3ce34da5a1209b077a39d931",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "mqtt",
|
||||||
|
"title": "broker.kebler.net",
|
||||||
|
"data": {
|
||||||
|
"broker": "broker.kebler.net",
|
||||||
|
"discovery": true,
|
||||||
|
"port": 1883
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "user",
|
||||||
|
"connection_class": "local_push",
|
||||||
|
"unique_id": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "9436e71647e64581a19a2cc8172f9a35",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "esphome",
|
||||||
|
"title": "inside_temp_humd",
|
||||||
|
"data": {
|
||||||
|
"host": "10.0.0.180",
|
||||||
|
"password": "",
|
||||||
|
"port": 6053
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "zeroconf",
|
||||||
|
"connection_class": "local_push",
|
||||||
|
"unique_id": "inside_temp_humd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "cf5266d3fa4a4824850935818193ac48",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "esphome",
|
||||||
|
"title": "outside_temp_humd",
|
||||||
|
"data": {
|
||||||
|
"host": "10.0.0.222",
|
||||||
|
"password": "",
|
||||||
|
"port": 6053
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "user",
|
||||||
|
"connection_class": "local_push",
|
||||||
|
"unique_id": "outside_temp_humd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "3ed789ad543542018f094a6d3d209d9a",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "nws",
|
||||||
|
"title": "KGCD",
|
||||||
|
"data": {
|
||||||
|
"api_key": "kebler.net@gmail.com",
|
||||||
|
"latitude": 44.46097018572946,
|
||||||
|
"longitude": -118.71158838272095,
|
||||||
|
"station": "KGCD"
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "user",
|
||||||
|
"connection_class": "cloud_poll",
|
||||||
|
"unique_id": "44.46097018572946_-118.71158838272095"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "b7c6f2ecbb0d48ce83a92d218b4e129c",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "mobile_app",
|
||||||
|
"title": "SM-G935R4",
|
||||||
|
"data": {
|
||||||
|
"app_data": {
|
||||||
|
"push_token": "dR6iDAsFIAI:APA91bHbf9uAX51rcCn1eD8J__in-9K7sqaXbnFgfVxE4wEpNmD3lcwBR0JeG-sVnWx1dUYhj4BRP6BHQy1uFAHWjs890GAIPvYU-AWKRRR-GuDhaWvXnLYX94yLQp80GZMxbpOG9-Ke",
|
||||||
|
"push_url": "https://mobile-apps.home-assistant.io/api/sendPush/android/v1"
|
||||||
|
},
|
||||||
|
"app_id": "io.homeassistant.companion.android",
|
||||||
|
"app_name": "Home Assistant",
|
||||||
|
"app_version": "1.11.0-215 (215)",
|
||||||
|
"device_id": "ea51283736a711a9",
|
||||||
|
"device_name": "SM-G935R4",
|
||||||
|
"manufacturer": "samsung",
|
||||||
|
"model": "SM-G935R4",
|
||||||
|
"os_name": "Android",
|
||||||
|
"os_version": "26",
|
||||||
|
"supports_encryption": false,
|
||||||
|
"user_id": "99685dc45d9f40dc8183e11ce5128038",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "registration",
|
||||||
|
"connection_class": "cloud_push",
|
||||||
|
"unique_id": "io.homeassistant.companion.android-ea51283736a711a9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "ea9548ce249e4e388ef42aa16cedfa29",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "mobile_app",
|
||||||
|
"title": "White Moto G",
|
||||||
|
"data": {
|
||||||
|
"app_data": {
|
||||||
|
"push_token": "f-HooFTWTWad3h8a1EJswU:APA91bE8CUndwczKWO6Cb59jnXddyUwL5zYtFO9CJxhUqBnbOJvPYRaLMeLIC4CIJAdFkZ6ep82_7RxoIVRtYfhP_qOByjOgYImrapNEUjSayCmiyjTZaEH1eCzshzeaauD16NO8THyj",
|
||||||
|
"push_url": "https://mobile-apps.home-assistant.io/api/sendPush/android/v1"
|
||||||
|
},
|
||||||
|
"app_id": "io.homeassistant.companion.android",
|
||||||
|
"app_name": "Home Assistant",
|
||||||
|
"app_version": "1.11.0-215 (215)",
|
||||||
|
"device_id": "764372054dcb3823",
|
||||||
|
"device_name": "XT1064",
|
||||||
|
"manufacturer": "motorola",
|
||||||
|
"model": "XT1064",
|
||||||
|
"os_name": "Android",
|
||||||
|
"os_version": "23",
|
||||||
|
"supports_encryption": false,
|
||||||
|
"user_id": "99685dc45d9f40dc8183e11ce5128038",
|
||||||
|
"webhook_id": "5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be"
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "registration",
|
||||||
|
"connection_class": "cloud_push",
|
||||||
|
"unique_id": "io.homeassistant.companion.android-764372054dcb3823"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "0f3b31063a5d4293a373c98d6c5d5c77",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "mobile_app",
|
||||||
|
"title": "LGUS215",
|
||||||
|
"data": {
|
||||||
|
"app_data": {
|
||||||
|
"push_token": "dHFyVftSS7GU1tZWdpLnZp:APA91bH9Jy7ZBQ-vmUQwZKk4ymzjrbFyxuXJRcVlNnbPcDMFlbG8zV5VOX2wbbOYW7N72LbSLLYjMbnQy5zDsknYEI7QaNXfcNnGHbF3d7AsD2NrvJ9pYmsde5e3tpTaBYAkBMAqDnSa",
|
||||||
|
"push_url": "https://mobile-apps.home-assistant.io/api/sendPush/android/v1"
|
||||||
|
},
|
||||||
|
"app_id": "io.homeassistant.companion.android",
|
||||||
|
"app_name": "Home Assistant",
|
||||||
|
"app_version": "1.11.0-215 (215)",
|
||||||
|
"device_id": "315c682d3b2d88cc",
|
||||||
|
"device_name": "LGUS215",
|
||||||
|
"manufacturer": "LGE",
|
||||||
|
"model": "LGUS215",
|
||||||
|
"os_name": "Android",
|
||||||
|
"os_version": "24",
|
||||||
|
"supports_encryption": false,
|
||||||
|
"user_id": "99685dc45d9f40dc8183e11ce5128038",
|
||||||
|
"webhook_id": "05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2"
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "registration",
|
||||||
|
"connection_class": "cloud_push",
|
||||||
|
"unique_id": "io.homeassistant.companion.android-315c682d3b2d88cc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entry_id": "d00c44239e11a6b5cc8a1f44eb4c23e2",
|
||||||
|
"version": 1,
|
||||||
|
"domain": "hacs",
|
||||||
|
"title": "",
|
||||||
|
"data": {
|
||||||
|
"token": "ab27da1f11e3827fa78258ac8ed11795c6261c34"
|
||||||
|
},
|
||||||
|
"options": {},
|
||||||
|
"system_options": {
|
||||||
|
"disable_new_entities": false
|
||||||
|
},
|
||||||
|
"source": "user",
|
||||||
"connection_class": "cloud_poll",
|
"connection_class": "cloud_poll",
|
||||||
"unique_id": null
|
"unique_id": null
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,24 +5,171 @@
|
||||||
"devices": [
|
"devices": [
|
||||||
{
|
{
|
||||||
"config_entries": [
|
"config_entries": [
|
||||||
"6dc0336bb0e637a0356a74ad6fda5078"
|
"2872c3dbbf1246c2b7aab8c616984183"
|
||||||
],
|
],
|
||||||
"connections": [],
|
"connections": [],
|
||||||
"identifiers": [
|
"identifiers": [
|
||||||
[
|
[
|
||||||
"met"
|
"mobile_app",
|
||||||
|
"6cb92e1b94d47217"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"manufacturer": "Met.no",
|
"manufacturer": "SAMSUNG ELECTRONICS CO., LTD.",
|
||||||
"model": "Forecast",
|
"model": "700T1C",
|
||||||
"name": "Forecast",
|
"name": "700T1C",
|
||||||
"sw_version": null,
|
"sw_version": "28",
|
||||||
"entry_type": "service",
|
"entry_type": null,
|
||||||
"id": "169be323da7e5b63edb2984c77b9a915",
|
"id": "515c6f88684b452e86231c4411e3001e",
|
||||||
"via_device_id": null,
|
"via_device_id": null,
|
||||||
"area_id": null,
|
"area_id": null,
|
||||||
"name_by_user": null,
|
"name_by_user": null
|
||||||
"disabled_by": null
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"f2587c6a3ce34da5a1209b077a39d931"
|
||||||
|
],
|
||||||
|
"connections": [],
|
||||||
|
"identifiers": [
|
||||||
|
[
|
||||||
|
"mqtt",
|
||||||
|
"84f3eb3b8492"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"manufacturer": "espressif",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"name": "outside_temp_humd",
|
||||||
|
"sw_version": "esphome v1.14.3 Apr 23 2020, 12:14:31",
|
||||||
|
"entry_type": null,
|
||||||
|
"id": "93560a2f0c64414e8c1a69dbbf3bf97f",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"9436e71647e64581a19a2cc8172f9a35"
|
||||||
|
],
|
||||||
|
"connections": [
|
||||||
|
[
|
||||||
|
"mac",
|
||||||
|
"84:f3:eb:3b:77:30"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"identifiers": [],
|
||||||
|
"manufacturer": "espressif",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"name": "inside_temp_humd",
|
||||||
|
"sw_version": "1.15.3 (Dec 1 2020, 11:20:56)",
|
||||||
|
"entry_type": null,
|
||||||
|
"id": "1883f8cbd6b548b992e9a1974008f81f",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"cf5266d3fa4a4824850935818193ac48"
|
||||||
|
],
|
||||||
|
"connections": [
|
||||||
|
[
|
||||||
|
"mac",
|
||||||
|
"84:f3:eb:3b:84:92"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"identifiers": [],
|
||||||
|
"manufacturer": "espressif",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"name": "outside_temp_humd",
|
||||||
|
"sw_version": "1.15.3 (Dec 1 2020, 10:59:50)",
|
||||||
|
"entry_type": null,
|
||||||
|
"id": "207200b764c24bb2ac697f37d7c8b4e2",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"b7c6f2ecbb0d48ce83a92d218b4e129c"
|
||||||
|
],
|
||||||
|
"connections": [],
|
||||||
|
"identifiers": [
|
||||||
|
[
|
||||||
|
"mobile_app",
|
||||||
|
"ea51283736a711a9"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"manufacturer": "samsung",
|
||||||
|
"model": "SM-G935R4",
|
||||||
|
"name": "SM-G935R4",
|
||||||
|
"sw_version": "26",
|
||||||
|
"entry_type": null,
|
||||||
|
"id": "379851aebc71474585da2f6ce68a5745",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"ea9548ce249e4e388ef42aa16cedfa29"
|
||||||
|
],
|
||||||
|
"connections": [],
|
||||||
|
"identifiers": [
|
||||||
|
[
|
||||||
|
"mobile_app",
|
||||||
|
"764372054dcb3823"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"manufacturer": "motorola",
|
||||||
|
"model": "XT1064",
|
||||||
|
"name": "XT1064",
|
||||||
|
"sw_version": "23",
|
||||||
|
"entry_type": null,
|
||||||
|
"id": "f16e11491ac04282ab179f5727d4f5dc",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"0f3b31063a5d4293a373c98d6c5d5c77"
|
||||||
|
],
|
||||||
|
"connections": [],
|
||||||
|
"identifiers": [
|
||||||
|
[
|
||||||
|
"mobile_app",
|
||||||
|
"315c682d3b2d88cc"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"manufacturer": "LGE",
|
||||||
|
"model": "LGUS215",
|
||||||
|
"name": "LGUS215",
|
||||||
|
"sw_version": "24",
|
||||||
|
"entry_type": null,
|
||||||
|
"id": "ff1bf04ce1b2439b8a7ebc9237a010d9",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config_entries": [
|
||||||
|
"d00c44239e11a6b5cc8a1f44eb4c23e2"
|
||||||
|
],
|
||||||
|
"connections": [],
|
||||||
|
"identifiers": [
|
||||||
|
[
|
||||||
|
"hacs",
|
||||||
|
"0717a0cd-745c-48fd-9b16-c8534c9704f9-bc944b0f-fd42-4a58-a072-ade38d1444cd"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"manufacturer": "hacs.xyz",
|
||||||
|
"model": "",
|
||||||
|
"name": "HACS",
|
||||||
|
"sw_version": "1.8.0",
|
||||||
|
"entry_type": "service",
|
||||||
|
"id": "da36236384f2c8816377b036cf723ece",
|
||||||
|
"via_device_id": null,
|
||||||
|
"area_id": null,
|
||||||
|
"name_by_user": null
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"deleted_devices": []
|
"deleted_devices": []
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2,6 +2,6 @@
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"key": "core.uuid",
|
"key": "core.uuid",
|
||||||
"data": {
|
"data": {
|
||||||
"uuid": "cc2d403e9f8f4987bd0b6ed70125392d"
|
"uuid": "730705095bdc49d696bac6c69892ff3c"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"device_info": {
|
||||||
|
"compilation_time": "Apr 24 2020, 17:23:25",
|
||||||
|
"esphome_version": "1.14.3",
|
||||||
|
"has_deep_sleep": false,
|
||||||
|
"mac_address": "84:F3:EB:3B:84:92",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"name": "outside_temp_humd",
|
||||||
|
"uses_password": false
|
||||||
|
},
|
||||||
|
"sensor": [
|
||||||
|
{
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false,
|
||||||
|
"icon": "mdi:thermometer",
|
||||||
|
"key": 2259435129,
|
||||||
|
"name": "Outside Temperature",
|
||||||
|
"object_id": "outside_temperature",
|
||||||
|
"unique_id": "outside_temp_humdsensoroutside_temperature",
|
||||||
|
"unit_of_measurement": "\u00b0C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false,
|
||||||
|
"icon": "mdi:water-percent",
|
||||||
|
"key": 1320590942,
|
||||||
|
"name": "Outside Humidity",
|
||||||
|
"object_id": "outside_humidity",
|
||||||
|
"unique_id": "outside_temp_humdsensoroutside_humidity",
|
||||||
|
"unit_of_measurement": "%"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": [],
|
||||||
|
"text_sensor": []
|
||||||
|
},
|
||||||
|
"key": "esphome.28ebec0e77234c51bb89a4a1b26e47b3",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "esphome.9436e71647e64581a19a2cc8172f9a35",
|
||||||
|
"data": {
|
||||||
|
"device_info": {
|
||||||
|
"uses_password": false,
|
||||||
|
"name": "inside_temp_humd",
|
||||||
|
"mac_address": "84:F3:EB:3B:77:30",
|
||||||
|
"compilation_time": "Dec 1 2020, 11:20:56",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"has_deep_sleep": false,
|
||||||
|
"esphome_version": "1.15.3"
|
||||||
|
},
|
||||||
|
"services": [],
|
||||||
|
"sensor": [
|
||||||
|
{
|
||||||
|
"object_id": "inside_temperature",
|
||||||
|
"key": 920924750,
|
||||||
|
"name": "Inside Temperature",
|
||||||
|
"unique_id": "inside_temp_humdsensorinside_temperature",
|
||||||
|
"icon": "mdi:thermometer",
|
||||||
|
"unit_of_measurement": "\u00b0C",
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"object_id": "inside_humidity",
|
||||||
|
"key": 847076999,
|
||||||
|
"name": "Inside Humidity",
|
||||||
|
"unique_id": "inside_temp_humdsensorinside_humidity",
|
||||||
|
"icon": "mdi:water-percent",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"text_sensor": []
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "esphome.cf5266d3fa4a4824850935818193ac48",
|
||||||
|
"data": {
|
||||||
|
"device_info": {
|
||||||
|
"uses_password": false,
|
||||||
|
"name": "outside_temp_humd",
|
||||||
|
"mac_address": "84:F3:EB:3B:84:92",
|
||||||
|
"compilation_time": "Dec 1 2020, 10:59:50",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"has_deep_sleep": false,
|
||||||
|
"esphome_version": "1.15.3"
|
||||||
|
},
|
||||||
|
"services": [],
|
||||||
|
"sensor": [
|
||||||
|
{
|
||||||
|
"object_id": "outside_temperature",
|
||||||
|
"key": 2259435129,
|
||||||
|
"name": "Outside Temperature",
|
||||||
|
"unique_id": "outside_temp_humdsensoroutside_temperature",
|
||||||
|
"icon": "mdi:thermometer",
|
||||||
|
"unit_of_measurement": "\u00b0C",
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"object_id": "outside_humidity",
|
||||||
|
"key": 1320590942,
|
||||||
|
"name": "Outside Humidity",
|
||||||
|
"unique_id": "outside_temp_humdsensoroutside_humidity",
|
||||||
|
"icon": "mdi:water-percent",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"text_sensor": []
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"device_info": {
|
||||||
|
"compilation_time": "Feb 28 2020, 20:07:32",
|
||||||
|
"esphome_version": "1.14.3",
|
||||||
|
"has_deep_sleep": false,
|
||||||
|
"mac_address": "84:F3:EB:3B:84:92",
|
||||||
|
"model": "PLATFORMIO_D1_MINI",
|
||||||
|
"name": "outside_temp_humd",
|
||||||
|
"uses_password": false
|
||||||
|
},
|
||||||
|
"sensor": [
|
||||||
|
{
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false,
|
||||||
|
"icon": "mdi:thermometer",
|
||||||
|
"key": 2259435129,
|
||||||
|
"name": "Outside Temperature",
|
||||||
|
"object_id": "outside_temperature",
|
||||||
|
"unique_id": "outside_temp_humdsensoroutside_temperature",
|
||||||
|
"unit_of_measurement": "\u00b0C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"accuracy_decimals": 1,
|
||||||
|
"force_update": false,
|
||||||
|
"icon": "mdi:water-percent",
|
||||||
|
"key": 1320590942,
|
||||||
|
"name": "Outside Humidity",
|
||||||
|
"object_id": "outside_humidity",
|
||||||
|
"unique_id": "outside_temp_humdsensoroutside_humidity",
|
||||||
|
"unit_of_measurement": "%"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": [],
|
||||||
|
"text_sensor": []
|
||||||
|
},
|
||||||
|
"key": "esphome.eeb6ca4d62944fa4b32711e291ba2f63",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -1,9 +0,0 @@
|
||||||
{
|
|
||||||
"version": 1,
|
|
||||||
"key": "frontend.user_data_66b148346e9c4c5483b8fcf107ebffe0",
|
|
||||||
"data": {
|
|
||||||
"core": {
|
|
||||||
"showAdvanced": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"core": {
|
||||||
|
"showAdvanced": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": "frontend.user_data_99685dc45d9f40dc8183e11ce5128038",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "frontend_theme",
|
||||||
|
"data": {
|
||||||
|
"frontend_default_theme": "Dark Turqoise",
|
||||||
|
"frontend_default_dark_theme": null
|
||||||
|
}
|
||||||
|
}
|
|
@ -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,9 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs.hacs",
|
||||||
|
"data": {
|
||||||
|
"view": "Grid",
|
||||||
|
"compact": false,
|
||||||
|
"onboarding_done": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,461 @@
|
||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"acknowledged": true,
|
||||||
|
"link": "https://github.com/hacs/default/pull/2",
|
||||||
|
"reason": "Security issues, known to steal auth tokens.",
|
||||||
|
"removal_type": "critical",
|
||||||
|
"repository": "test/test"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "amaximus/bkk_stop_card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "au190/au190_bkk_stop_card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "au190/au190_lock_entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "au190/au190_thermostat_card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "basnijholt/media_player.kef"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "benleb/ad-batterycheck"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "benleb/ad-ench-ad3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "bieniu/ha-ad-airly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "Boosik/discord_game"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "boralyl/hass-smartthinq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/boilerplate-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/camera-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/custom-card-helpers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/information"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/marquee-state-element"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/monster-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/muuri-grid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/timer-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/tracker-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/binary_sensor.hadockermon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/blueprint"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/camera.multisource"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/cloudflare"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/complimentr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/custom_cards"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/custom_components"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/custom_updater"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/google_keep"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/hassbian_config"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/information"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/lists"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.ctabustracker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.custom_aftership"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.custom_cards"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.custom_components"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.geoip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.launchlibrary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.ruter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.syncthing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.tautulli"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sensor.versions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/sickchill"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/switch.hadockermon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-components/usps_mail"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "eifinger/here_travel_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "home-assistant-community-themes/template"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "home-assistant-community-themes/theme-request"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "keatontaylor/alexa_media_player"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "kethoth/green_slate_theme"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "ljmerza/waze-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "maykar/compact-custom-header"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "Michsior14/ha-kaiterra"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "Michsior14/ha-laser-egg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "PTST/O365Calendar-HomeAssistant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "Rocka84/dual-gauge-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "shaonianzhentan/ha-cloud-music"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "tenly2000/HomeAssistant-Places"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": null,
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "xaviml/z2m_ikea_controller"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": "https://github.com/hacs/integration/pull/1045",
|
||||||
|
"reason": "Request from author",
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "r-renato/hass-xiaomi-mi-flora-and-flower-care"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": null,
|
||||||
|
"reason": "Abandoned/Broken",
|
||||||
|
"removal_type": "stale",
|
||||||
|
"repository": "custom-cards/dual-gauge-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": "https://github.com/hacs/default/issues/318",
|
||||||
|
"reason": "Abandoned/Broken",
|
||||||
|
"removal_type": "stale",
|
||||||
|
"repository": "custom-cards/surveillance-card"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": "https://github.com/hacs/default/issues/344",
|
||||||
|
"reason": "Repository is archived",
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "robmarkcole/HASS-Sighthound"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": "https://github.com/hacs/default/issues/344",
|
||||||
|
"reason": "Repository is archived",
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "custom-cards/home-setter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"acknowledged": false,
|
||||||
|
"link": "https://github.com/hacs/default/issues/347",
|
||||||
|
"reason": "Repository is archived",
|
||||||
|
"removal_type": "blacklist",
|
||||||
|
"repository": "pippyn/Home-Assistant-Sensor-Ophaalkalender"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"key": "hacs.removed",
|
||||||
|
"version": "6"
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/101090553.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [
|
||||||
|
"@rogro82"
|
||||||
|
],
|
||||||
|
"category": "integration",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "Home Assistant variables component",
|
||||||
|
"domain": "variable",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "rogro82/hass-variables",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "101090553",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "fd9b44e",
|
||||||
|
"installed_version": null,
|
||||||
|
"open_issues": 29,
|
||||||
|
"last_commit": "fd9b44e",
|
||||||
|
"last_version": null,
|
||||||
|
"last_updated": "2020-10-27T17:12:19Z",
|
||||||
|
"manifest_name": "variable",
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-10-27T17:12:19",
|
||||||
|
"releases": false,
|
||||||
|
"render_readme": false,
|
||||||
|
"published_tags": [],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 166,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/146194325.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\u2747\ufe0f Lovelace button-card for home assistant",
|
||||||
|
"domain": "",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 5727,
|
||||||
|
"file_name": "button-card.js",
|
||||||
|
"filename": "button-card.js",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "custom-cards/button-card",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "146194325",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "b5de991",
|
||||||
|
"installed_version": "3.4.0",
|
||||||
|
"open_issues": 28,
|
||||||
|
"last_commit": "b5de991",
|
||||||
|
"last_version": "3.4.0",
|
||||||
|
"last_updated": "2020-12-02T14:06:47Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-12-02T14:06:47",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"3.4.0",
|
||||||
|
"3.3.6",
|
||||||
|
"3.3.5",
|
||||||
|
"3.3.4",
|
||||||
|
"3.3.3"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 581,
|
||||||
|
"topics": [
|
||||||
|
"home-assistant",
|
||||||
|
"home-assistant-custom",
|
||||||
|
"home-automation",
|
||||||
|
"lovelace",
|
||||||
|
"lovelace-ui"
|
||||||
|
],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/150781994.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd39 A foldable row for entities card, containing other rows",
|
||||||
|
"domain": null,
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "fold-entity-row.js",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "thomasloven/lovelace-fold-entity-row",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "150781994",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "01b4108",
|
||||||
|
"installed_version": "19",
|
||||||
|
"open_issues": 15,
|
||||||
|
"last_commit": "01b4108",
|
||||||
|
"last_version": "19",
|
||||||
|
"last_updated": "2020-08-01T03:12:50Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-08-01T03:12:50",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"19",
|
||||||
|
"18",
|
||||||
|
"17",
|
||||||
|
"16",
|
||||||
|
"15"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 190,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/156434866.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd39 Get more control over the placement of lovelace cards.",
|
||||||
|
"domain": null,
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "layout-card.js",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "thomasloven/lovelace-layout-card",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "156434866",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "e8f0ac8",
|
||||||
|
"installed_version": "16",
|
||||||
|
"open_issues": 29,
|
||||||
|
"last_commit": "e8f0ac8",
|
||||||
|
"last_version": "16",
|
||||||
|
"last_updated": "2020-11-18T07:35:50Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-18T07:35:50",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"16",
|
||||||
|
"15",
|
||||||
|
"14",
|
||||||
|
"13",
|
||||||
|
"12"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 249,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/162468030.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "theme",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "A collection of dark themes for Home Assistant. ",
|
||||||
|
"domain": "",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "dark_themes.yaml",
|
||||||
|
"filename": "dark_themes.yaml",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "awolkers/home-assistant-themes",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "162468030",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "648aef9",
|
||||||
|
"installed_version": null,
|
||||||
|
"open_issues": 0,
|
||||||
|
"last_commit": "648aef9",
|
||||||
|
"last_version": null,
|
||||||
|
"last_updated": "2020-09-16T14:47:00Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-09-16T14:47:00",
|
||||||
|
"releases": false,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 7,
|
||||||
|
"topics": [
|
||||||
|
"dark-mode",
|
||||||
|
"dark-theme",
|
||||||
|
"hacs",
|
||||||
|
"hassio",
|
||||||
|
"home-assistant",
|
||||||
|
"theme"
|
||||||
|
],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/167744584.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd39Automatically populate the entities-list of lovelace cards",
|
||||||
|
"domain": null,
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "auto-entities.js",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "thomasloven/lovelace-auto-entities",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "167744584",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "f17fcc1",
|
||||||
|
"installed_version": "1.7.0",
|
||||||
|
"open_issues": 21,
|
||||||
|
"last_commit": "f17fcc1",
|
||||||
|
"last_version": "1.7.0",
|
||||||
|
"last_updated": "2020-11-21T19:52:51Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-21T19:52:51",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"1.7.0",
|
||||||
|
"16",
|
||||||
|
"15",
|
||||||
|
"14",
|
||||||
|
"13"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 328,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"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": 12116,
|
||||||
|
"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": "0.110.0",
|
||||||
|
"id": "172733314",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": null,
|
||||||
|
"installed_version": "1.8.0",
|
||||||
|
"open_issues": 30,
|
||||||
|
"last_commit": "d41c3f7",
|
||||||
|
"last_version": "1.8.0",
|
||||||
|
"last_updated": "2020-12-08T07:18:56Z",
|
||||||
|
"manifest_name": "HACS",
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-12-08T07:18:56",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": false,
|
||||||
|
"published_tags": [
|
||||||
|
"1.8.0",
|
||||||
|
"1.6.2",
|
||||||
|
"1.6.1",
|
||||||
|
"1.6.0",
|
||||||
|
"1.5.2"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 1428,
|
||||||
|
"topics": [
|
||||||
|
"community",
|
||||||
|
"hacktoberfest",
|
||||||
|
"hacs",
|
||||||
|
"home-assistant",
|
||||||
|
"integration",
|
||||||
|
"package-manager",
|
||||||
|
"python"
|
||||||
|
],
|
||||||
|
"zip_release": true
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/190927524.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd39 Add CSS styles to (almost) any lovelace card",
|
||||||
|
"domain": null,
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "card-mod.js",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "thomasloven/lovelace-card-mod",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": "0.98.0",
|
||||||
|
"id": "190927524",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "457cf40",
|
||||||
|
"installed_version": "2.0.3",
|
||||||
|
"open_issues": 19,
|
||||||
|
"last_commit": "457cf40",
|
||||||
|
"last_version": "2.0.3",
|
||||||
|
"last_updated": "2020-11-18T09:01:24Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-18T09:01:24",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": false,
|
||||||
|
"published_tags": [
|
||||||
|
"2.0.3",
|
||||||
|
"2.0.2",
|
||||||
|
"2.0.1",
|
||||||
|
"2.0.0",
|
||||||
|
"14"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 215,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/194140521.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "integration",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd39 A Home Assistant integration to turn your browser into a controllable entity - and also an audio player",
|
||||||
|
"domain": "browser_mod",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "thomasloven/hass-browser_mod",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": "0.113.0",
|
||||||
|
"id": "194140521",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "37e731b",
|
||||||
|
"installed_version": "1.2.3",
|
||||||
|
"open_issues": 18,
|
||||||
|
"last_commit": "37e731b",
|
||||||
|
"last_version": "1.2.3",
|
||||||
|
"last_updated": "2020-11-21T15:24:31Z",
|
||||||
|
"manifest_name": "Browser mod",
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-21T15:24:31",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": false,
|
||||||
|
"published_tags": [
|
||||||
|
"1.2.3",
|
||||||
|
"1.2.2",
|
||||||
|
"1.2.1",
|
||||||
|
"1.2.0",
|
||||||
|
"1.1.7"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 309,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/200897141.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "integration",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd39 Improve the lovelace yaml parser for Home Assistant",
|
||||||
|
"domain": "lovelace_gen",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "thomasloven/hass-lovelace_gen",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "200897141",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "14fd723",
|
||||||
|
"installed_version": "6",
|
||||||
|
"open_issues": 9,
|
||||||
|
"last_commit": "14fd723",
|
||||||
|
"last_version": "6",
|
||||||
|
"last_updated": "2020-02-26T13:18:57Z",
|
||||||
|
"manifest_name": "Lovelace Gen",
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-02-26T13:18:57",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": false,
|
||||||
|
"published_tags": [
|
||||||
|
"6",
|
||||||
|
"5",
|
||||||
|
"4",
|
||||||
|
"3",
|
||||||
|
"2"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 71,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/221287384.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "theme",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "Clear Theme for Home Assistant",
|
||||||
|
"domain": null,
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "clear.yaml",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "naofireblade/clear-theme",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": "0.102.0",
|
||||||
|
"id": "221287384",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "e3c9149",
|
||||||
|
"installed_version": "v1.1",
|
||||||
|
"open_issues": 2,
|
||||||
|
"last_commit": "a9f68e1",
|
||||||
|
"last_version": "v1.1",
|
||||||
|
"last_updated": "2020-10-08T10:10:49Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-10-08T10:10:49",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": false,
|
||||||
|
"published_tags": [
|
||||||
|
"v1.1",
|
||||||
|
"v1.0"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 16,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/223008910.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "Custom Sidebar for Home Assistant",
|
||||||
|
"domain": "",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "custom-sidebar.js",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "Villhellm/custom-sidebar",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "223008910",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "3ed0a8f",
|
||||||
|
"installed_version": "v0.2.2",
|
||||||
|
"open_issues": 5,
|
||||||
|
"last_commit": "3ed0a8f",
|
||||||
|
"last_version": "v0.2.2",
|
||||||
|
"last_updated": "2020-10-31T13:26:16Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-10-31T13:26:16",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"v0.2.2",
|
||||||
|
"v0.2.1",
|
||||||
|
"v0.2.0",
|
||||||
|
"v0.1.7",
|
||||||
|
"v0.1.6"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 52,
|
||||||
|
"topics": [
|
||||||
|
"custom",
|
||||||
|
"hacktoberfest",
|
||||||
|
"sidebar"
|
||||||
|
],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/260526528.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": true,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "Custom Dark Sky Weather plugin for HACS. This creates a rich weather card using the Dark Sky weather plugin.",
|
||||||
|
"domain": "",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 0,
|
||||||
|
"file_name": "lovelace-darksky-card.js",
|
||||||
|
"filename": "lovelace-darksky-card.js",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": true,
|
||||||
|
"full_name": "clayauld/lovelace-darksky-card",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "260526528",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "03e6eac",
|
||||||
|
"installed_version": null,
|
||||||
|
"open_issues": 1,
|
||||||
|
"last_commit": "03e6eac",
|
||||||
|
"last_version": null,
|
||||||
|
"last_updated": "2020-11-05T01:35:52Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-05T01:35:52",
|
||||||
|
"releases": false,
|
||||||
|
"render_readme": "true",
|
||||||
|
"published_tags": [],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 3,
|
||||||
|
"topics": [],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/261262884.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\udd70\ufe0f Time Picker Card for Home Assistant's Lovelace UI",
|
||||||
|
"domain": "",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 1001,
|
||||||
|
"file_name": "time-picker-card.js",
|
||||||
|
"filename": "time-picker-card.js",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "GeorgeSG/lovelace-time-picker-card",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "261262884",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "c3fa2ce",
|
||||||
|
"installed_version": "1.1.1",
|
||||||
|
"open_issues": 1,
|
||||||
|
"last_commit": "c3fa2ce",
|
||||||
|
"last_version": "1.1.1",
|
||||||
|
"last_updated": "2020-11-22T14:38:10Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-22T14:38:10",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"1.1.1",
|
||||||
|
"1.1.0",
|
||||||
|
"1.0.1",
|
||||||
|
"0.1.1",
|
||||||
|
"0.1.0"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 43,
|
||||||
|
"topics": [
|
||||||
|
"home-assistant",
|
||||||
|
"homeassistant",
|
||||||
|
"lovelace",
|
||||||
|
"lovelace-card",
|
||||||
|
"lovelace-custom-card"
|
||||||
|
],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"key": "hacs/303101606.hacs",
|
||||||
|
"data": {
|
||||||
|
"archived": false,
|
||||||
|
"authors": [],
|
||||||
|
"category": "plugin",
|
||||||
|
"content_in_root": false,
|
||||||
|
"country": [],
|
||||||
|
"config_flow": false,
|
||||||
|
"default_branch": "master",
|
||||||
|
"description": "\ud83d\ude48 Hides the Home Assistant header and/or sidebar",
|
||||||
|
"domain": "",
|
||||||
|
"domains": [],
|
||||||
|
"downloads": 2804,
|
||||||
|
"file_name": "kiosk-mode.js",
|
||||||
|
"filename": "",
|
||||||
|
"first_install": false,
|
||||||
|
"fork": false,
|
||||||
|
"full_name": "maykar/kiosk-mode",
|
||||||
|
"hacs": null,
|
||||||
|
"hide": false,
|
||||||
|
"hide_default_branch": false,
|
||||||
|
"homeassistant": null,
|
||||||
|
"id": "303101606",
|
||||||
|
"iot_class": null,
|
||||||
|
"installed": true,
|
||||||
|
"installed_commit": "78b95f3",
|
||||||
|
"installed_version": "1.4.7",
|
||||||
|
"open_issues": 4,
|
||||||
|
"last_commit": "78b95f3",
|
||||||
|
"last_version": "1.4.7",
|
||||||
|
"last_updated": "2020-11-19T12:46:12Z",
|
||||||
|
"manifest_name": null,
|
||||||
|
"new": false,
|
||||||
|
"persistent_directory": null,
|
||||||
|
"pushed_at": "2020-11-19T12:46:12",
|
||||||
|
"releases": true,
|
||||||
|
"render_readme": true,
|
||||||
|
"published_tags": [
|
||||||
|
"1.4.7",
|
||||||
|
"1.4.5",
|
||||||
|
"1.4.4",
|
||||||
|
"1.4.3",
|
||||||
|
"1.4.2"
|
||||||
|
],
|
||||||
|
"selected_tag": null,
|
||||||
|
"show_beta": false,
|
||||||
|
"stargazers_count": 48,
|
||||||
|
"topics": [
|
||||||
|
"home-assistant",
|
||||||
|
"kiosk",
|
||||||
|
"kiosk-mode",
|
||||||
|
"lovelace"
|
||||||
|
],
|
||||||
|
"zip_release": false
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"version": 1,
|
|
||||||
"key": "hassio",
|
|
||||||
"data": {
|
"data": {
|
||||||
"hassio_user": "5fa0d78e30e34c11a6b616d5bf248eb1"
|
"hassio_user": "5dc5beb72dbc49d59080804cea6f026c"
|
||||||
}
|
},
|
||||||
|
"key": "hassio",
|
||||||
|
"version": 1
|
||||||
}
|
}
|
|
@ -2,12 +2,12 @@
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"key": "http",
|
"key": "http",
|
||||||
"data": {
|
"data": {
|
||||||
|
"login_attempts_threshold": -1,
|
||||||
"server_port": 8123,
|
"server_port": 8123,
|
||||||
|
"ip_ban_enabled": true,
|
||||||
"ssl_profile": "modern",
|
"ssl_profile": "modern",
|
||||||
"cors_allowed_origins": [
|
"cors_allowed_origins": [
|
||||||
"https://cast.home-assistant.io"
|
"https://cast.home-assistant.io"
|
||||||
],
|
]
|
||||||
"ip_ban_enabled": true,
|
|
||||||
"login_attempts_threshold": -1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,101 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "lovelace.lovelace_main",
|
||||||
|
"data": {
|
||||||
|
"config": {
|
||||||
|
"title": "238 McHaley",
|
||||||
|
"path": "lovelace-main",
|
||||||
|
"views": [
|
||||||
|
{
|
||||||
|
"title": "Lights/Outlets",
|
||||||
|
"path": "circuits",
|
||||||
|
"icon": "",
|
||||||
|
"badges": [],
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"title": "Indoor Security Lights",
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"entity": "switch.all_sonoffs",
|
||||||
|
"name": "Lights State (manual override)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "input_datetime.security_lights_interior_time_off",
|
||||||
|
"name": "Time Of Day To Turn Off (24HR)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "automation.security_lights_interior_time_on",
|
||||||
|
"name": "Lights On At Sunset Automation Enabled"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "automation.security_lights_interior_time_off",
|
||||||
|
"name": "Lights Off Automation Enabled"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"title": "Raw Sonoff Control",
|
||||||
|
"entities": [
|
||||||
|
"switch.sonoff_white",
|
||||||
|
"switch.sonoff_brown",
|
||||||
|
"switch.all_sonoffs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:time-picker-card",
|
||||||
|
"entity": "input_datetime.security_lights_interior_time_off",
|
||||||
|
"hour_mode": 12,
|
||||||
|
"hour_step": 1,
|
||||||
|
"minute_step": 5,
|
||||||
|
"second_step": 5,
|
||||||
|
"name": "lights off at",
|
||||||
|
"layout": {
|
||||||
|
"embedded": true,
|
||||||
|
"name": "header",
|
||||||
|
"align_controls": "center"
|
||||||
|
},
|
||||||
|
"link_values": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "button",
|
||||||
|
"tap_action": {
|
||||||
|
"action": "toggle"
|
||||||
|
},
|
||||||
|
"entity": "switch.outside_north_circuit_1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "sensors",
|
||||||
|
"path": "sensors",
|
||||||
|
"icon": "",
|
||||||
|
"badges": [],
|
||||||
|
"cards": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Electronics Closet",
|
||||||
|
"path": "electronics-closet",
|
||||||
|
"icon": "",
|
||||||
|
"badges": [],
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"title": "Temperature Control",
|
||||||
|
"entities": [
|
||||||
|
"sensor.closet_temperature",
|
||||||
|
"input_number.fan_on_temp",
|
||||||
|
"switch.fan_automation_enabled",
|
||||||
|
"fan.fan_state"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,381 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"config": {
|
||||||
|
"title": "All Entities",
|
||||||
|
"views": [
|
||||||
|
{
|
||||||
|
"badges": [
|
||||||
|
{
|
||||||
|
"entity": "binary_sensor.updater"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "person.sysadmin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.date_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.date_time_iso"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.time_date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.time_utc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.internet_time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.zone_1_duration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.zone_1_repeat"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.zone_1_time_delta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.closet_temperature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.panic_on_percent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.zone_1_timer_next"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_summary_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_icon_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_temperature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_temperature_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_temperature_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_temperature_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_temperature_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_dew_point_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_speed_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_wind_bearing_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_0h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_2h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_cloud_coverage_3h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_daytime_high_temperature_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_daytime_high_temperature_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_daytime_high_temperature_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_overnight_low_temperature_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_overnight_low_temperature_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_overnight_low_temperature_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_moon_phase_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_moon_phase_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_moon_phase_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_sunset_0d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_sunset_2d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_sunset_3d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.forecast_alerts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.outside_temperature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.outside_humidity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.hacs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sun.sun"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"switch.sonoff_white",
|
||||||
|
"switch.sonoff_brown"
|
||||||
|
],
|
||||||
|
"show_header_toggle": true,
|
||||||
|
"title": "sonoffs",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"sensor.zone_1_last_run",
|
||||||
|
"sensor.zone_1_next_run"
|
||||||
|
],
|
||||||
|
"show_header_toggle": true,
|
||||||
|
"title": "zone_1_status",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"sensor.zone_1_base_time",
|
||||||
|
"input_number.zone_1_timer_hours",
|
||||||
|
"input_number.zone_1_timer_minutes",
|
||||||
|
"input_number.zone_1_duration",
|
||||||
|
"input_number.zone_1_repeat"
|
||||||
|
],
|
||||||
|
"show_header_toggle": true,
|
||||||
|
"title": "zone_1_set",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"entity": "fan.fan_state",
|
||||||
|
"name": "State (manual override)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Fan",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"input_boolean.zone_1_reset_zone"
|
||||||
|
],
|
||||||
|
"title": "Input boolean",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"input_datetime.security_lights_interior_time_off"
|
||||||
|
],
|
||||||
|
"title": "Input datetime",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"input_number.test_timer_duration",
|
||||||
|
"input_number.fan_on_temp",
|
||||||
|
"input_number.node_test_first_number",
|
||||||
|
"input_number.test_schedule_base_hour",
|
||||||
|
"input_number.test_schedule_base_minute",
|
||||||
|
"input_number.node_test_second_number"
|
||||||
|
],
|
||||||
|
"title": "Input number",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"light.panic"
|
||||||
|
],
|
||||||
|
"title": "Light",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"script.zone_1_run"
|
||||||
|
],
|
||||||
|
"title": "Script",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entities": [
|
||||||
|
"switch.all_sonoffs",
|
||||||
|
"switch.circuit_1",
|
||||||
|
"switch.fan_automation_enabled",
|
||||||
|
"switch.zone_1",
|
||||||
|
"switch.zone_1_timer",
|
||||||
|
"switch.irrigation_zone_1",
|
||||||
|
"switch.irrigation_zone_2",
|
||||||
|
"switch.irrigation_zone_3",
|
||||||
|
"switch.irrigation_zone_4",
|
||||||
|
"switch.irrigation_zone_5",
|
||||||
|
"switch.irrigation_zone_6",
|
||||||
|
"switch.irrigation_zone_7",
|
||||||
|
"switch.irrigation_zone_8"
|
||||||
|
],
|
||||||
|
"title": "Switch",
|
||||||
|
"type": "entities"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "weather.238",
|
||||||
|
"type": "weather-forecast"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "weather.praire_city_weather",
|
||||||
|
"type": "weather-forecast"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"path": "default_view",
|
||||||
|
"title": "Home"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": "lovelace.lovelace_user",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -0,0 +1,131 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "lovelace.lovelace_weather",
|
||||||
|
"data": {
|
||||||
|
"config": {
|
||||||
|
"title": "Weather",
|
||||||
|
"views": [
|
||||||
|
{
|
||||||
|
"title": "Meterology",
|
||||||
|
"path": "meterology",
|
||||||
|
"icon": "mdi:thermometer-lines",
|
||||||
|
"badges": [],
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"title": "Outside",
|
||||||
|
"entities": [
|
||||||
|
"sensor.outside_temperature",
|
||||||
|
"sensor.outside_humidity"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"title": "Inside",
|
||||||
|
"entities": [
|
||||||
|
"sensor.inside_temperature",
|
||||||
|
"sensor.inside_humidity"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weather-forecast",
|
||||||
|
"entity": "weather.local_weather"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"entity": "sensor.bme_outside_temperature",
|
||||||
|
"icon": "mdi:temperature-fahrenheit",
|
||||||
|
"name": "Outside Temperature",
|
||||||
|
"secondary_info": "last-changed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.bme_outside_humidity",
|
||||||
|
"name": "Humidity",
|
||||||
|
"icon": "mdi:water-percent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.bme_outside_barometric_pressure",
|
||||||
|
"name": "Barometric Pressue",
|
||||||
|
"icon": "mdi:gauge"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.bme_outside_dew_point_temperature",
|
||||||
|
"name": "Dew Point Temperature",
|
||||||
|
"icon": "mdi:thermometer-lines"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Outside Conditions",
|
||||||
|
"theme": "Dark Blue",
|
||||||
|
"show_header_toggle": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:lovelace-darksky-card",
|
||||||
|
"entity_current_conditions": "sensor.dark_sky_icon",
|
||||||
|
"entity_temperature": "sensor.dark_sky_temperature",
|
||||||
|
"entity_forecast_high_temp_1": "sensor.dark_sky_daytime_high_temperature_1d",
|
||||||
|
"entity_forecast_high_temp_2": "sensor.dark_sky_daytime_high_temperature_2d",
|
||||||
|
"entity_forecast_high_temp_3": "sensor.dark_sky_daytime_high_temperature_3d",
|
||||||
|
"entity_forecast_high_temp_4": "sensor.dark_sky_daytime_high_temperature_4d",
|
||||||
|
"entity_forecast_high_temp_5": "sensor.dark_sky_daytime_high_temperature_5d",
|
||||||
|
"entity_forecast_icon_1": "sensor.dark_sky_icon_1d",
|
||||||
|
"entity_forecast_icon_2": "sensor.dark_sky_icon_2d",
|
||||||
|
"entity_forecast_icon_3": "sensor.dark_sky_icon_3d",
|
||||||
|
"entity_forecast_icon_4": "sensor.dark_sky_icon_4d",
|
||||||
|
"entity_forecast_icon_5": "sensor.dark_sky_icon_5d",
|
||||||
|
"entity_forecast_low_temp_1": "sensor.dark_sky_overnight_low_temperature_0d",
|
||||||
|
"entity_forecast_low_temp_2": "sensor.dark_sky_overnight_low_temperature_1d",
|
||||||
|
"entity_forecast_low_temp_3": "sensor.dark_sky_overnight_low_temperature_2d",
|
||||||
|
"entity_forecast_low_temp_4": "sensor.dark_sky_overnight_low_temperature_3d",
|
||||||
|
"entity_forecast_low_temp_5": "sensor.dark_sky_overnight_low_temperature_4d",
|
||||||
|
"entity_summary_1": "sensor.dark_sky_summary_1d",
|
||||||
|
"entity_summary_2": "sensor.dark_sky_summary_2d",
|
||||||
|
"entity_summary_3": "sensor.dark_sky_summary_3d",
|
||||||
|
"entity_summary_4": "sensor.dark_sky_summary_4d",
|
||||||
|
"entity_summary_5": "sensor.dark_sky_summary_5d",
|
||||||
|
"entity_sun": "sun.sun",
|
||||||
|
"entity_visibility": "sensor.dark_sky_visibility",
|
||||||
|
"entity_daytime_high": "sensor.dark_sky_daytime_high_temperature_0d",
|
||||||
|
"entity_wind_bearing": "sensor.dark_sky_wind_bearing",
|
||||||
|
"entity_wind_speed": "sensor.dark_sky_wind_speed",
|
||||||
|
"entity_humidity": "sensor.dark_sky_humidity",
|
||||||
|
"entity_pressure": "sensor.dark_sky_pressure",
|
||||||
|
"entity_apparent_temp": "sensor.dark_sky_apparent_temperature",
|
||||||
|
"entity_daily_summary": "sensor.dark_sky_daily_summary",
|
||||||
|
"entity_pop": "sensor.dark_sky_precip_probability",
|
||||||
|
"entity_pop_intensity": "sensor.dark_sky_precip_intensity",
|
||||||
|
"entity_pop_1": "sensor.dark_sky_precip_probability_1d",
|
||||||
|
"entity_pop_2": "sensor.dark_sky_precip_probability_2d",
|
||||||
|
"entity_pop_3": "sensor.dark_sky_precip_probability_3d",
|
||||||
|
"entity_pop_4": "sensor.dark_sky_precip_probability_4d",
|
||||||
|
"entity_pop_5": "sensor.dark_sky_precip_probability_5d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "iframe",
|
||||||
|
"url": "https://embed.windy.com/embed2.html?lat=44.422&lon=-118.718&detailLat=44.452&detailLon=-118.529&width=650&height=450&zoom=9&level=surface&overlay=radar&product=radar&menu=&message=&marker=&calendar=now&pressure=&type=map&location=coordinates&detail=&metricWind=mph&metricTemp=%C2%B0F&radarRange=-1",
|
||||||
|
"aspect_ratio": "100%",
|
||||||
|
"title": "Live Weather Map"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "iframe",
|
||||||
|
"title": "Local Radar",
|
||||||
|
"aspect_ratio": "100%",
|
||||||
|
"url": "https://www.rainviewer.com/map.html?loc=44.4823,-118.7828,10&oFa=0&oC=1&oU=0&oCS=1&oF=0&oAP=0&rmt=0&c=0&o=83&lm=1&th=1&sm=1&sn=1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weather-forecast",
|
||||||
|
"entity": "weather.kgcd_hourly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weather-forecast",
|
||||||
|
"entity": "weather.kgcd_daynight"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,220 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "lovelace.system_setup",
|
||||||
|
"data": {
|
||||||
|
"config": {
|
||||||
|
"views": [
|
||||||
|
{
|
||||||
|
"title": "Main",
|
||||||
|
"path": "main",
|
||||||
|
"badges": [],
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Configuration",
|
||||||
|
"url": "/config/dashboard",
|
||||||
|
"icon": "mdi:cog"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Edit Configuration Files",
|
||||||
|
"url": "/a0d7b954_vscode",
|
||||||
|
"icon": "mdi:playlist-edit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Dashboards",
|
||||||
|
"url": "/config/lovelace/dashboards",
|
||||||
|
"icon": "mdi:view-dashboard-variant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "HA version",
|
||||||
|
"url": "/config/info",
|
||||||
|
"icon": "mdi:home-assistant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "HA Supervisor/OS version",
|
||||||
|
"url": "/hassio/system",
|
||||||
|
"icon": "mdi:home-assistant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "System Snapshots",
|
||||||
|
"url": "/hassio/snapshots",
|
||||||
|
"icon": "mdi:camera-plus"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Terminal",
|
||||||
|
"url": "/core_ssh",
|
||||||
|
"icon": "mdi:console-network-outline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Check Config/Restart",
|
||||||
|
"url": "/config/server_control",
|
||||||
|
"icon": "mdi:restart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Entities/State",
|
||||||
|
"url": "/developer-tools/state",
|
||||||
|
"icon": "mdi:sim-outline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Events",
|
||||||
|
"url": "/developer-tools/event",
|
||||||
|
"icon": "mdi:calendar-clock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Templates",
|
||||||
|
"url": "/developer-tools/template",
|
||||||
|
"icon": "mdi:content-duplicate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Services",
|
||||||
|
"url": "/developer-tools/service",
|
||||||
|
"icon": "mdi:room-service"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Portainer on Host",
|
||||||
|
"url": "http://hassio.kebler.net:9000/#!/1/docker/containers",
|
||||||
|
"icon": "mdi:docker"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Add-Ons",
|
||||||
|
"url": "/hassio/dashboard",
|
||||||
|
"icon": "mdi:video-input-component"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Components-HACS",
|
||||||
|
"url": "/hacs/entry",
|
||||||
|
"icon": "mdi:alpha-h-box"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "ESPHome",
|
||||||
|
"url": "/15ef4d2f_esphome",
|
||||||
|
"icon": "mdi:alpha-e-box"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Add-ons/Components"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "entities",
|
||||||
|
"title": "HomeAssistant Info",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Home Assistant",
|
||||||
|
"url": "https://home-assistant.io",
|
||||||
|
"icon": "mdi:home-assistant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Integrations",
|
||||||
|
"url": "https://home-assistant.io/components/",
|
||||||
|
"icon": "mdi:briefcase-check"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Troubleshooting your configuration",
|
||||||
|
"url": "https://home-assistant.io/docs/configuration/troubleshooting/",
|
||||||
|
"icon": "mdi:wrench"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Awesome HA",
|
||||||
|
"url": "https://www.awesome-ha.com/",
|
||||||
|
"icon": "mdi:creation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Home Assistant Forum",
|
||||||
|
"url": "https://community.home-assistant.io",
|
||||||
|
"icon": "mdi:comment-multiple-outline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Material Design Icons",
|
||||||
|
"url": "http://materialdesignicons.com/",
|
||||||
|
"icon": "mdi:emoticon-outline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Hass Icon List",
|
||||||
|
"url": "https://gist.github.com/thomasloven/01e03543364cf685eff969ad7980f5d7",
|
||||||
|
"icon": "mdi:emoticon-outline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Splitting Config - Advanced",
|
||||||
|
"url": "https://www.home-assistant.io/docs/configuration/splitting_configuration/#advanced-usage",
|
||||||
|
"icon": "mdi:assistant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Dashboards",
|
||||||
|
"type": "entities",
|
||||||
|
"show_header_toggle": false,
|
||||||
|
"entities": [
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Dashboards List",
|
||||||
|
"url": "/config/lovelace/dashboards",
|
||||||
|
"icon": "mdi:format-list-bulleted"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "All Entities",
|
||||||
|
"url": "/lovelace/default_view",
|
||||||
|
"icon": "mdi:view-dashboard-variant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Manual Yaml",
|
||||||
|
"url": "/lovelace-manual",
|
||||||
|
"icon": "mdi:view-dashboard-variant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "weblink",
|
||||||
|
"name": "Manual Yaml Panel",
|
||||||
|
"url": "/lovelace-panel",
|
||||||
|
"icon": "mdi:view-dashboard-variant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "System Setup Navigator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "lovelace_dashboards",
|
||||||
|
"data": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"require_admin": false,
|
||||||
|
"show_in_sidebar": true,
|
||||||
|
"title": "Main",
|
||||||
|
"url_path": "lovelace-main",
|
||||||
|
"mode": "storage",
|
||||||
|
"id": "lovelace_main"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"require_admin": true,
|
||||||
|
"show_in_sidebar": true,
|
||||||
|
"title": "Setup",
|
||||||
|
"url_path": "system-setup",
|
||||||
|
"mode": "storage",
|
||||||
|
"id": "system_setup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"require_admin": false,
|
||||||
|
"show_in_sidebar": true,
|
||||||
|
"icon": "mdi:weather-cloudy",
|
||||||
|
"title": "Weather",
|
||||||
|
"url_path": "lovelace-weather",
|
||||||
|
"mode": "storage",
|
||||||
|
"id": "lovelace_weather"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "lovelace_resources",
|
||||||
|
"data": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"url": "/hacsfiles/button-card/button-card.js",
|
||||||
|
"type": "module",
|
||||||
|
"id": "2e6bc398cf194600a54c288f0f39df30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "/hacsfiles/lovelace-time-picker-card/time-picker-card.js",
|
||||||
|
"type": "module",
|
||||||
|
"id": "320b29e23fa841389e7f288518351f20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "/hacsfiles/lovelace-darksky-card/lovelace-darksky-card.js",
|
||||||
|
"type": "module",
|
||||||
|
"id": "1b05f5d79aba4d86876333158b04a3c9"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,530 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "mobile_app",
|
||||||
|
"data": {
|
||||||
|
"binary_sensor": {
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_is_charging": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "plug",
|
||||||
|
"icon": "mdi:power-plug-off",
|
||||||
|
"name": "Is Charging",
|
||||||
|
"state": false,
|
||||||
|
"type": "binary_sensor",
|
||||||
|
"unique_id": "is_charging",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deleted_ids": [
|
||||||
|
"e05272f132b2ece8de22ec23b279ff8775479cfe54e60bb4d935111c007480a1",
|
||||||
|
"e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f",
|
||||||
|
"589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c"
|
||||||
|
],
|
||||||
|
"sensor": {
|
||||||
|
"05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2_battery_level": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-90",
|
||||||
|
"name": "Battery Level",
|
||||||
|
"state": 93,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_level",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2"
|
||||||
|
},
|
||||||
|
"05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2_battery_state": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"charger_type": "unknown",
|
||||||
|
"is_charging": false
|
||||||
|
},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-90",
|
||||||
|
"name": "Battery State",
|
||||||
|
"state": "discharging",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_state",
|
||||||
|
"webhook_id": "05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2"
|
||||||
|
},
|
||||||
|
"05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2_wifi_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"bssid": "0c:80:63:06:fc:b0",
|
||||||
|
"frequency": 2462,
|
||||||
|
"ip_address": "10.0.0.50",
|
||||||
|
"is_hidden": false,
|
||||||
|
"link_speed": 72,
|
||||||
|
"signal_level": -1
|
||||||
|
},
|
||||||
|
"icon": "mdi:wifi-strength-off",
|
||||||
|
"name": "Wifi Connection",
|
||||||
|
"state": "zoesplace",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "wifi_connection",
|
||||||
|
"webhook_id": "05937d05f5a6239334725f7b14a462ab0e409dbbe11c2cf4b2f20747f403edf2"
|
||||||
|
},
|
||||||
|
"589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c_battery_level": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"charger_type": "N/A",
|
||||||
|
"is_charging": false
|
||||||
|
},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-60",
|
||||||
|
"name": "Battery Level",
|
||||||
|
"state": 67,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_level",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c"
|
||||||
|
},
|
||||||
|
"589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c_geocoded_location": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Administrative Area": "Oregon",
|
||||||
|
"Country": "United States",
|
||||||
|
"ISO Country Code": "US",
|
||||||
|
"Locality": "Prairie City",
|
||||||
|
"Location": [
|
||||||
|
44.4611229,
|
||||||
|
-118.71172790000001
|
||||||
|
],
|
||||||
|
"Postal Code": "97869",
|
||||||
|
"Sub Administrative Area": "Grant County",
|
||||||
|
"Sub Locality": null,
|
||||||
|
"Sub Thoroughfare": "238",
|
||||||
|
"Thoroughfare": "North McHaley Street"
|
||||||
|
},
|
||||||
|
"icon": "mdi:map",
|
||||||
|
"name": "Geocoded Location",
|
||||||
|
"state": "238 N McHaley St, Prairie City, OR 97869, USA",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "geocoded_location",
|
||||||
|
"webhook_id": "589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c"
|
||||||
|
},
|
||||||
|
"589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c_wifi_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"bssid": "0c:80:63:06:fc:b0",
|
||||||
|
"frequency": 2437,
|
||||||
|
"ip_address": "10.0.0.203",
|
||||||
|
"is_hidden": false,
|
||||||
|
"link_speed": 28,
|
||||||
|
"signal_level": -74
|
||||||
|
},
|
||||||
|
"icon": "mdi:wifi-strength-1",
|
||||||
|
"name": "Wifi Connection",
|
||||||
|
"state": "zoesplace",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "wifi_connection",
|
||||||
|
"webhook_id": "589b63fea7e219d0ebc4a4804c59f7cfacef9c25c4621300f84eb7614446152c"
|
||||||
|
},
|
||||||
|
"5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be_battery_level": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery",
|
||||||
|
"name": "Battery Level",
|
||||||
|
"state": 100,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_level",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be"
|
||||||
|
},
|
||||||
|
"5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be_battery_state": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"is_charging": true,
|
||||||
|
"charger_type": "ac"
|
||||||
|
},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-charging",
|
||||||
|
"name": "Battery State",
|
||||||
|
"state": "full",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_state",
|
||||||
|
"webhook_id": "5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be"
|
||||||
|
},
|
||||||
|
"5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be_wifi_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"bssid": "0c:80:63:91:4c:90",
|
||||||
|
"ip_address": "10.0.0.203",
|
||||||
|
"link_speed": 72,
|
||||||
|
"is_hidden": false,
|
||||||
|
"frequency": 2437,
|
||||||
|
"signal_level": -1
|
||||||
|
},
|
||||||
|
"icon": "mdi:wifi-strength-off",
|
||||||
|
"name": "Wifi Connection",
|
||||||
|
"state": "zoesplace-outside",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "wifi_connection",
|
||||||
|
"webhook_id": "5f53d4c3439e791aab47663319361609868cb300c034204db0e25e40147d27be"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_audio_sensor": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"audio_mode": "normal",
|
||||||
|
"is_headphones": false,
|
||||||
|
"is_mic_muted": false,
|
||||||
|
"is_music_active": false,
|
||||||
|
"is_speakerphone_on": false,
|
||||||
|
"volume_level_alarm": 6,
|
||||||
|
"volume_level_call": 4,
|
||||||
|
"volume_level_music": 0,
|
||||||
|
"volume_level_ring": 5
|
||||||
|
},
|
||||||
|
"icon": "mdi:volume-high",
|
||||||
|
"name": "Audio Sensor",
|
||||||
|
"state": "normal",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "audio_sensor",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_battery_health": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"icon": "mdi:battery-alert",
|
||||||
|
"name": "Battery Health",
|
||||||
|
"state": "unknown",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_health",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_battery_level": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-90",
|
||||||
|
"name": "Battery Level",
|
||||||
|
"state": 98,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_level",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_battery_state": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-unknown",
|
||||||
|
"name": "Battery State",
|
||||||
|
"state": "unknown",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_state",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_bluetooth_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"connected_not_paired_devices": "[]",
|
||||||
|
"connected_paired_devices": "[]",
|
||||||
|
"is_bt_on": false,
|
||||||
|
"paired_devices": ""
|
||||||
|
},
|
||||||
|
"icon": "mdi:bluetooth",
|
||||||
|
"name": "Bluetooth Connection",
|
||||||
|
"state": 0,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "bluetooth_connection",
|
||||||
|
"unit_of_measurement": "connection(s)",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_charger_type": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"icon": "mdi:power-plug",
|
||||||
|
"name": "Charger Type",
|
||||||
|
"state": "ac",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "charger_type",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_detected_activity": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"in_vehicle": 10,
|
||||||
|
"on_bicycle": 10,
|
||||||
|
"on_foot": 10,
|
||||||
|
"running": 10,
|
||||||
|
"still": 10,
|
||||||
|
"unknown": 40,
|
||||||
|
"walking": 10
|
||||||
|
},
|
||||||
|
"icon": "mdi:progress-question",
|
||||||
|
"name": "Detected Activity",
|
||||||
|
"state": "unknown",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "detected_activity",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_dnd_sensor": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"icon": "mdi:do-not-disturb",
|
||||||
|
"name": "Do Not Disturb Sensor",
|
||||||
|
"state": "off",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "dnd_sensor",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_last_reboot": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Local Time": "Wed Dec 09 15:27:19 PST 2020",
|
||||||
|
"Time in Milliseconds": 1607556439220
|
||||||
|
},
|
||||||
|
"device_class": "timestamp",
|
||||||
|
"icon": "mdi:restart",
|
||||||
|
"name": "Last Reboot",
|
||||||
|
"state": "2020-12-09T23:27:19Z",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "last_reboot",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_light_sensor": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "illuminance",
|
||||||
|
"icon": "mdi:brightness-5",
|
||||||
|
"name": "Light Sensor",
|
||||||
|
"state": "124",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "light_sensor",
|
||||||
|
"unit_of_measurement": "lx",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_next_alarm": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Local Time": "",
|
||||||
|
"Package": "",
|
||||||
|
"Time in Milliseconds": 0.0
|
||||||
|
},
|
||||||
|
"device_class": "timestamp",
|
||||||
|
"icon": "mdi:alarm",
|
||||||
|
"name": "Next Alarm",
|
||||||
|
"state": "unavailable",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "next_alarm",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_storage_sensor": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Total internal storage": "116GB"
|
||||||
|
},
|
||||||
|
"icon": "mdi:harddisk",
|
||||||
|
"name": "Storage Sensor",
|
||||||
|
"state": 88,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "storage_sensor",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_wifi_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"bssid": "02:00:00:00:00:00",
|
||||||
|
"frequency": 5180,
|
||||||
|
"ip_address": "10.0.0.250",
|
||||||
|
"is_hidden": true,
|
||||||
|
"link_speed": 300,
|
||||||
|
"signal_level": -1
|
||||||
|
},
|
||||||
|
"icon": "mdi:wifi-strength-off",
|
||||||
|
"name": "Wifi Connection",
|
||||||
|
"state": "<unknown ssid>",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "wifi_connection",
|
||||||
|
"webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_battery_level": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-50",
|
||||||
|
"name": "Battery Level",
|
||||||
|
"state": 58,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_level",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_battery_state": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"battery_health": "good",
|
||||||
|
"charger_type": "unknown",
|
||||||
|
"is_charging": false
|
||||||
|
},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-50",
|
||||||
|
"name": "Battery State",
|
||||||
|
"state": "discharging",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_state",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_bluetooth_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"connected_not_paired_devices": [],
|
||||||
|
"connected_paired_devices": [],
|
||||||
|
"is_bt_on": false,
|
||||||
|
"paired_devices": ""
|
||||||
|
},
|
||||||
|
"icon": "mdi:bluetooth",
|
||||||
|
"name": "Bluetooth Connection",
|
||||||
|
"state": 0,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "bluetooth_connection",
|
||||||
|
"unit_of_measurement": "connection(s)",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_geocoded_location": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Administrative Area": "Oregon",
|
||||||
|
"Country": "United States",
|
||||||
|
"ISO Country Code": "US",
|
||||||
|
"Locality": "Prairie City",
|
||||||
|
"Location": [
|
||||||
|
44.4609349,
|
||||||
|
-118.71165899999998
|
||||||
|
],
|
||||||
|
"Postal Code": "97869",
|
||||||
|
"Sub Administrative Area": "Grant County",
|
||||||
|
"Sub Locality": null,
|
||||||
|
"Sub Thoroughfare": "258",
|
||||||
|
"Thoroughfare": "South McHaley Avenue"
|
||||||
|
},
|
||||||
|
"icon": "mdi:map",
|
||||||
|
"name": "Geocoded Location",
|
||||||
|
"state": "258 S McHaley Ave, Prairie City, OR 97869, USA",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "geocoded_location",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_light_sensor": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {},
|
||||||
|
"device_class": "illuminance",
|
||||||
|
"icon": "mdi:brightness-5",
|
||||||
|
"name": "Light Sensor",
|
||||||
|
"state": "unavailable",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "light_sensor",
|
||||||
|
"unit_of_measurement": "lx",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_next_alarm": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Local Time": "",
|
||||||
|
"Package": "",
|
||||||
|
"Time in Milliseconds": 0
|
||||||
|
},
|
||||||
|
"device_class": "timestamp",
|
||||||
|
"icon": "mdi:alarm",
|
||||||
|
"name": "Next Alarm",
|
||||||
|
"state": "unavailable",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "next_alarm",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_storage_sensor": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Free external storage": "17GB",
|
||||||
|
"Free internal storage": "0GB",
|
||||||
|
"Total external storage": "29GB",
|
||||||
|
"Total internal storage": "24GB"
|
||||||
|
},
|
||||||
|
"icon": "mdi:harddisk",
|
||||||
|
"name": "Storage Sensor",
|
||||||
|
"state": 3,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "storage_sensor",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0_wifi_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"bssid": "0c:80:63:91:4c:91",
|
||||||
|
"frequency": 5180,
|
||||||
|
"ip_address": "10.0.0.81",
|
||||||
|
"is_hidden": false,
|
||||||
|
"is_wifi_on": true,
|
||||||
|
"link_speed": 390,
|
||||||
|
"signal_level": -63
|
||||||
|
},
|
||||||
|
"icon": "mdi:wifi-strength-2",
|
||||||
|
"name": "Wifi Connection",
|
||||||
|
"state": "zoesplace-outside",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "wifi_connection",
|
||||||
|
"webhook_id": "b0bd2f0affedb208d53f95e0f264ec0ba55e5c867ee3a864dd94e29c3f8a8db0"
|
||||||
|
},
|
||||||
|
"e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f_battery_level": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"charger_type": "AC",
|
||||||
|
"is_charging": true
|
||||||
|
},
|
||||||
|
"device_class": "battery",
|
||||||
|
"icon": "mdi:battery-charging",
|
||||||
|
"name": "Battery Level",
|
||||||
|
"state": 100,
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "battery_level",
|
||||||
|
"unit_of_measurement": "%",
|
||||||
|
"webhook_id": "e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f"
|
||||||
|
},
|
||||||
|
"e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f_geocoded_location": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"Administrative Area": "Oregon",
|
||||||
|
"Country": "United States",
|
||||||
|
"ISO Country Code": "US",
|
||||||
|
"Locality": "Prairie City",
|
||||||
|
"Location": [
|
||||||
|
44.4611229,
|
||||||
|
-118.71172790000001
|
||||||
|
],
|
||||||
|
"Postal Code": "97869",
|
||||||
|
"Sub Administrative Area": "Grant County",
|
||||||
|
"Sub Locality": null,
|
||||||
|
"Sub Thoroughfare": "238",
|
||||||
|
"Thoroughfare": "North McHaley Street"
|
||||||
|
},
|
||||||
|
"icon": "mdi:map",
|
||||||
|
"name": "Geocoded Location",
|
||||||
|
"state": "238 N McHaley St, Prairie City, OR 97869, USA",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "geocoded_location",
|
||||||
|
"webhook_id": "e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f"
|
||||||
|
},
|
||||||
|
"e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f_wifi_connection": {
|
||||||
|
"added": true,
|
||||||
|
"attributes": {
|
||||||
|
"bssid": "0c:80:63:91:4c:90",
|
||||||
|
"frequency": 2437,
|
||||||
|
"ip_address": "10.0.0.182",
|
||||||
|
"is_hidden": false,
|
||||||
|
"link_speed": 72,
|
||||||
|
"signal_level": -39
|
||||||
|
},
|
||||||
|
"icon": "mdi:wifi-strength-3",
|
||||||
|
"name": "Wifi Connection",
|
||||||
|
"state": "zoesplace-outside",
|
||||||
|
"type": "sensor",
|
||||||
|
"unique_id": "wifi_connection",
|
||||||
|
"webhook_id": "e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"version": 3,
|
|
||||||
"key": "onboarding",
|
|
||||||
"data": {
|
"data": {
|
||||||
"done": [
|
"done": [
|
||||||
"user",
|
"user",
|
||||||
"core_config",
|
"core_config",
|
||||||
"integration"
|
"integration"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"key": "onboarding",
|
||||||
|
"version": 3
|
||||||
}
|
}
|
|
@ -1,14 +1,19 @@
|
||||||
{
|
{
|
||||||
"version": 2,
|
|
||||||
"key": "person",
|
|
||||||
"data": {
|
"data": {
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"name": "system administrator",
|
"device_trackers": [
|
||||||
"user_id": "66b148346e9c4c5483b8fcf107ebffe0",
|
"device_tracker.700t1c",
|
||||||
"device_trackers": [],
|
"device_tracker.sm_g935r4",
|
||||||
"id": "system_administrator"
|
"device_tracker.xt1064_2",
|
||||||
|
"device_tracker.lgus215"
|
||||||
|
],
|
||||||
|
"id": "sysadmin",
|
||||||
|
"name": "sysadmin",
|
||||||
|
"user_id": "99685dc45d9f40dc8183e11ce5128038"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"key": "person",
|
||||||
|
"version": 2
|
||||||
}
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
"key": "zone",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"*.yaml": "home-assistant"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
# homeassistant:
|
||||||
|
# name: 238 McHaley
|
||||||
|
# latitude: !secret latitude_loc_home
|
||||||
|
# longitude: !secret longitude_loc_home
|
||||||
|
# elevation: !secret evelation_loc_home
|
||||||
|
# time_zone: America/Los_Angeles
|
||||||
|
# temperature_unit: F
|
||||||
|
# unit_system: metric
|
||||||
|
# customize_glob: !include config/customize_glob.yaml
|
||||||
|
# enables system health component
|
||||||
|
websocket_api:
|
||||||
|
system_health:
|
||||||
|
# Enables the frontend
|
||||||
|
frontend:
|
||||||
|
themes: !include_dir_merge_named themes
|
||||||
|
# Enables configuration UI
|
||||||
|
config:
|
||||||
|
# Show links to resources in log and frontend
|
||||||
|
# introduction:
|
||||||
|
# Discover some devices automatically
|
||||||
|
#discovery:
|
||||||
|
# Allows you to issue voice commands from the frontend in enabled browsers
|
||||||
|
#conversation:
|
||||||
|
# Enables support for tracking state changes over time
|
||||||
|
#history:
|
||||||
|
# View all events in a logbook
|
||||||
|
#logbook:
|
||||||
|
# Enables a map showing the location of tracked devices
|
||||||
|
#map:
|
||||||
|
# Track the sun
|
||||||
|
sun:
|
|
@ -0,0 +1,10 @@
|
||||||
|
# authorization settings - none needed only available via vpn
|
||||||
|
|
||||||
|
# old settings
|
||||||
|
# - type: homeassistant
|
||||||
|
# - type: trusted_networks
|
||||||
|
# trusted_networks:
|
||||||
|
# - 10.0.0.3
|
||||||
|
# - 127.0.0.1
|
||||||
|
# - ::1
|
||||||
|
# allow_bypass_login: true
|
|
@ -0,0 +1,11 @@
|
||||||
|
# https://home-assistant.io/components/http/
|
||||||
|
# ssl_certificate: !secret http_ssl_certificate
|
||||||
|
# ssl_key: !secret http_ssl_key
|
||||||
|
# base_url: !secret http_base_url
|
||||||
|
# ip_ban_enabled: False
|
||||||
|
# login_attempts_threshold: 5
|
||||||
|
# base_url: https://ha238.kebler.net
|
||||||
|
#use_x_forwarded_for: true
|
||||||
|
# You must set the trusted proxy IP address so that Home Assistant will properly accept connections
|
||||||
|
# Set this to your Caddy machine IP, or localhost if hosted on the same machine.
|
||||||
|
#trusted_proxies: 127.0.0.1
|
|
@ -0,0 +1,19 @@
|
||||||
|
# https://www.home-assistant.io/components/mqtt/
|
||||||
|
|
||||||
|
# these four are now set in the mqtt integrations ui
|
||||||
|
# there is no way to edit these. You must remove and add the mqtt integration
|
||||||
|
#broker: 10.0.0.1
|
||||||
|
#port: 1883
|
||||||
|
#username: !secret MQTT_username
|
||||||
|
#password: !secret MQTT_password
|
||||||
|
#discovery: true
|
||||||
|
birth_message:
|
||||||
|
topic: "status/ha"
|
||||||
|
payload: "online"
|
||||||
|
qos: 1
|
||||||
|
retain: true
|
||||||
|
will_message:
|
||||||
|
topic: "status/ha"
|
||||||
|
payload: "offline"
|
||||||
|
qos: 1
|
||||||
|
retain: true
|
|
@ -0,0 +1,4 @@
|
||||||
|
nodered:
|
||||||
|
title: Node-RED
|
||||||
|
icon: mdi:nodejs
|
||||||
|
url: https://ha.kebler.net/hassio/ingress/a0d7b954_nodered
|
|
@ -0,0 +1,18 @@
|
||||||
|
# lovelace_gen
|
||||||
|
|
||||||
|
# {% zones = [ '1':'Front North', '2':'Front South', '3':'Front Beds'} %}
|
||||||
|
icon: mdi:water
|
||||||
|
cards:
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
# Irrigation
|
||||||
|
# {% for zone in zones %}
|
||||||
|
# - type: entity-button
|
||||||
|
# entity: switch.irrigation_zone_{{ zone }}
|
||||||
|
# icon: mdi:water
|
||||||
|
# name: zones[zone]
|
||||||
|
# tap_action:
|
||||||
|
# action: toggle
|
||||||
|
# {% endfor %}
|
|
@ -0,0 +1,8 @@
|
||||||
|
# lovelace_gen
|
||||||
|
{% if entity.startswith("light") %}
|
||||||
|
type: light
|
||||||
|
{% else %}
|
||||||
|
type: entity-button
|
||||||
|
{% endif %}
|
||||||
|
entity: {{ entity }}
|
||||||
|
name: {{ name }}
|
|
@ -0,0 +1,10 @@
|
||||||
|
title: Video Cameras
|
||||||
|
icon: mdi:video
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
## Roo Cam 1
|
||||||
|
- type: picture
|
||||||
|
image: http://doggie_cam_1.kebler.net
|
||||||
|
# - type: picture-entity
|
||||||
|
# entity: camera.roo_cam_1
|
|
@ -0,0 +1,33 @@
|
||||||
|
title: UCI Base FIO Example
|
||||||
|
cards:
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
# Four In One UCI Base Example
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.fio_switch_1
|
||||||
|
icon: mdi:water
|
||||||
|
name: Switch 1
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.fio_switch_2
|
||||||
|
icon: mdi:water
|
||||||
|
name: Switch 2
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.fio_switch_3
|
||||||
|
icon: mdi:water
|
||||||
|
name: Switch 3
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.fio_switch_4
|
||||||
|
icon: mdi:water
|
||||||
|
name: Switch 4
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
|
@ -0,0 +1,59 @@
|
||||||
|
title: UCI Gpio Example
|
||||||
|
cards:
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
# Control UCI GPIO Relays
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_1
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 1
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_2
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 2
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_3
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 3
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_4
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 4
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_5
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 5
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_6
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 6
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_7
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 7
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.pine64_switch_8
|
||||||
|
icon: mdi:water
|
||||||
|
name: Relay 8
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
|
@ -0,0 +1,34 @@
|
||||||
|
# lovelace_gen
|
||||||
|
title: MQTT Irrigation Buttons
|
||||||
|
{# icon: mdi:water #}
|
||||||
|
panel: true
|
||||||
|
cards:
|
||||||
|
- type: 'custom:layout-card'
|
||||||
|
min_columns: 2
|
||||||
|
max_columns: 4
|
||||||
|
column_width: 200px
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.irrigation_pump
|
||||||
|
icon: mdi:water-pump
|
||||||
|
name: well pump
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
{% set zones = {
|
||||||
|
'1':'Front Yard North',
|
||||||
|
'2':'Front Yard South',
|
||||||
|
'3':'Fr. Beds/Back E. Spigot',
|
||||||
|
'4':'Back Garage Spigot',
|
||||||
|
'5':'Garden North/West',
|
||||||
|
'6':'Garden South',
|
||||||
|
'7':'Back West Spigot'
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
{% for zone,name in zones.items() %}
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.irrigation_zone_{{ zone }}
|
||||||
|
icon: mdi:water
|
||||||
|
name: {{ name }}
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,34 @@
|
||||||
|
# lovelace_gen
|
||||||
|
title: Irrigation
|
||||||
|
icon: mdi:water
|
||||||
|
panel: true
|
||||||
|
cards:
|
||||||
|
- type: 'custom:layout-card'
|
||||||
|
min_columns: 2
|
||||||
|
max_columns: 4
|
||||||
|
column_width: 200px
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
entity: input_boolean.irrigation_pump
|
||||||
|
icon: mdi:water-pump
|
||||||
|
name: well pump
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
{% set zones = {
|
||||||
|
'1':'Front Yard North',
|
||||||
|
'2':'Front Yard South',
|
||||||
|
'3':'Fr. Beds/Back E. Spigot',
|
||||||
|
'4':'Back Garage Spigot',
|
||||||
|
'5':'Garden North/West',
|
||||||
|
'6':'Garden South',
|
||||||
|
'7':'Back West Spigot'
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
{% for zone,name in zones.items() %}
|
||||||
|
- type: entity-button
|
||||||
|
entity: input_boolean.irrigation_zone_{{ zone }}_state
|
||||||
|
icon: mdi:water
|
||||||
|
name: {{ name }}
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,70 @@
|
||||||
|
# lovelace_gen
|
||||||
|
title: Irrigation
|
||||||
|
cards:
|
||||||
|
{% set zones = {
|
||||||
|
'1':'Front Yard North',
|
||||||
|
'2':'Front Yard South',
|
||||||
|
'3':'Fr. Beds/Back E. Spigot',
|
||||||
|
'4':'Back Garage Spigot',
|
||||||
|
'5':'Garden North/West',
|
||||||
|
'6':'Garden South',
|
||||||
|
'7':'Back West Spigot'
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
# IRRIGATION SYSTEM STATE
|
||||||
|
theme: solarized_light
|
||||||
|
- type: entities
|
||||||
|
show_header_toggle: false
|
||||||
|
entities:
|
||||||
|
- entity: input_boolean.irrigation_enabled
|
||||||
|
- type: divider
|
||||||
|
- entity: variable.irrigation_next_trigger
|
||||||
|
- entity: variable.irrigation_next_trigger_dt
|
||||||
|
- entity: variable.irrigation_next_schedule_name
|
||||||
|
- entity: variable.irrigation_running_names
|
||||||
|
- entity: variable.irrigation_queue_names
|
||||||
|
- type: divider
|
||||||
|
{% for zone,name in zones.items() %}
|
||||||
|
- entity: input_boolean.irrigation_zone_{{ zone }}_schedule_enabled
|
||||||
|
name: {{ name }}
|
||||||
|
{% endfor %}
|
||||||
|
{% for zone,name in zones.items() %}
|
||||||
|
- type: conditional
|
||||||
|
conditions:
|
||||||
|
- entity: input_boolean.irrigation_zone_{{ zone }}_schedule_enabled
|
||||||
|
state: "on"
|
||||||
|
card:
|
||||||
|
type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
## {{ name }} : Zone {{ zone }}
|
||||||
|
theme: slate
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
- entity: input_boolean.irrigation_zone_{{ zone }}_state
|
||||||
|
- entity: input_number.irrigation_zone_{{ zone }}_duration
|
||||||
|
- type: divider
|
||||||
|
- entity: variable.irrigation_zone_{{ zone }}_schedule_next_dt
|
||||||
|
- entity: variable.irrigation_zone_{{ zone }}_schedule_countdown
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
- type: custom:fold-entity-row
|
||||||
|
head: input_boolean.irrigation_zone_{{ zone }}_schedule_enabled
|
||||||
|
entities:
|
||||||
|
- type: section
|
||||||
|
label: 'Schedule Parameters for {{name}}'
|
||||||
|
- type: divider
|
||||||
|
- type: section
|
||||||
|
label: 'Base Time of Day'
|
||||||
|
- entity: input_number.irrigation_zone_{{ zone }}_schedule_base_hour
|
||||||
|
- entity: input_number.irrigation_zone_{{ zone }}_schedule_base_minute
|
||||||
|
- type: divider
|
||||||
|
- entity: input_select.irrigation_zone_{{ zone }}_schedule_delta
|
||||||
|
|
||||||
|
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,19 @@
|
||||||
|
# lovelace_gen
|
||||||
|
{% set zones = ['1','2','3','4','5','6','7','8'] %}
|
||||||
|
icon: mdi:water
|
||||||
|
cards:
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
# Irrigation
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
{% for zone in zones %}
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.irrigation_zone_{{ zone }}
|
||||||
|
icon: mdi:water
|
||||||
|
name: {{ zone }}
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# lovelace_gen
|
||||||
|
{% set zones = {
|
||||||
|
'1':'Front Yard North',
|
||||||
|
'2':'Front Yard South',
|
||||||
|
'3':'Front Yard Beds',
|
||||||
|
'4':'Back Yard East',
|
||||||
|
'5':'Back Yard Garage',
|
||||||
|
'6':'Back Yard West',
|
||||||
|
'7':'Garden East',
|
||||||
|
'8':'Garden West'
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
icon: mdi:water
|
||||||
|
panel: true
|
||||||
|
cards:
|
||||||
|
- type: 'custom:layout-card'
|
||||||
|
{# layout: <layout> #}
|
||||||
|
{# min_height: <min_height> #}
|
||||||
|
min_columns: 2
|
||||||
|
max_columns: 4
|
||||||
|
column_width: 200px
|
||||||
|
cards:
|
||||||
|
{% for zone,name in zones.items() %}
|
||||||
|
- type: entity-button
|
||||||
|
entity: switch.irrigation_zone_{{ zone }}
|
||||||
|
icon: mdi:water
|
||||||
|
name: {{ name }}
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,29 @@
|
||||||
|
path: tiles
|
||||||
|
title: Tile Test
|
||||||
|
panel: true
|
||||||
|
cards:
|
||||||
|
- type: 'custom:layout-card'
|
||||||
|
layout: auto
|
||||||
|
# min_height: <min_height>
|
||||||
|
# min_columns: 2
|
||||||
|
# max_columns: 20
|
||||||
|
# column_width: 50px
|
||||||
|
# max_width:
|
||||||
|
# min_width: 50px
|
||||||
|
flex_grow: 5
|
||||||
|
# gridcols: <grid-cols>
|
||||||
|
# gridrows: <grid-rows>
|
||||||
|
justify_content: flex-start
|
||||||
|
cards:
|
||||||
|
- type: 'custom:button-card' #
|
||||||
|
entity: sensor.outside_temperature #
|
||||||
|
name: Outside #
|
||||||
|
label: 238 McHaley
|
||||||
|
template: large_value #
|
||||||
|
- type: 'custom:button-card' #
|
||||||
|
entity: sensor.inside_temperature #
|
||||||
|
name: Inside #
|
||||||
|
label: 238 McHaley
|
||||||
|
template: large_value #
|
||||||
|
- type: weather-forecast
|
||||||
|
entity: weather.praire_city_weather
|
|
@ -0,0 +1,58 @@
|
||||||
|
path: tiles
|
||||||
|
title: Tile Test
|
||||||
|
theme: Backend-selected
|
||||||
|
badges: []
|
||||||
|
panel: true
|
||||||
|
cards:
|
||||||
|
- type: 'custom:layout-card'
|
||||||
|
column_width: 100%
|
||||||
|
layout: vertical
|
||||||
|
cards:
|
||||||
|
- type: 'custom:layout-card'
|
||||||
|
layout: grid
|
||||||
|
gridcols: 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px
|
||||||
|
gridrows: 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px 50px
|
||||||
|
cards:
|
||||||
|
- type: 'custom:button-card' #
|
||||||
|
entity: sensor.outside_temperature #
|
||||||
|
gridcol: 1/3 # Your first
|
||||||
|
gridrow: 1/3 # card
|
||||||
|
name: Outside #
|
||||||
|
label: 238 McHaley
|
||||||
|
template: large_value #
|
||||||
|
- type: custom:canvas-gauge-card
|
||||||
|
entity: sensor.outside_humidity
|
||||||
|
name: Humidity (%)
|
||||||
|
card_height: 135
|
||||||
|
gridcol: 4/7
|
||||||
|
gridrow: 1/3
|
||||||
|
gauge:
|
||||||
|
type: "radial-gauge"
|
||||||
|
width: 120
|
||||||
|
height: 120
|
||||||
|
# borderShadowWidth: 0
|
||||||
|
# borderOuterWidth: 0
|
||||||
|
# borderMiddleWidth: 0
|
||||||
|
# borderInnerWidth: 0
|
||||||
|
# minValue: 0
|
||||||
|
# maxValue: 100
|
||||||
|
# startAngle: 90
|
||||||
|
# ticksAngle: 180
|
||||||
|
# valueBox: true
|
||||||
|
# majorTicks:
|
||||||
|
# ["0", "10", "20", "30", "40", "50", "60", "70", "80", "90", "100"]
|
||||||
|
# minorTicks: 2
|
||||||
|
# strokeTicks: true
|
||||||
|
# highlights: [{ "from": 80, "to": 100, "color": "rgba(200, 50, 50, .75)" }]
|
||||||
|
# borders: true
|
||||||
|
- type: 'custom:button-card' #
|
||||||
|
entity: sensor.inside_temperature #
|
||||||
|
gridcol: 1/3 # Your first
|
||||||
|
gridrow: 4/7 # card
|
||||||
|
name: Inside #
|
||||||
|
label: 238 McHaley
|
||||||
|
template: large_value #
|
||||||
|
# - type: weather-forecast
|
||||||
|
# entity: weather.praire_city_weather
|
||||||
|
# gridcol: 4/14 # Your first
|
||||||
|
# gridrow: 1/5
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Exampe Scheduler
|
||||||
|
title: Node Red Scheduler
|
||||||
|
cards:
|
||||||
|
- type: iframe
|
||||||
|
url: 'https://giskard.kebler.net:1880/endpoint/ui'
|
||||||
|
aspect_ratio: 100%
|
|
@ -0,0 +1,12 @@
|
||||||
|
title: Node Testing
|
||||||
|
cards:
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
# - type: horizontal-stack
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
- entity: input_number.node_test_first_number
|
||||||
|
- entity: input_number.node_test_second_number
|
||||||
|
- entity: variable.node_test_sum
|
||||||
|
- entity: variable.node_test_switch
|
||||||
|
name: Dummy Switch (on>100)
|
|
@ -0,0 +1,46 @@
|
||||||
|
# Exampe Scheduler
|
||||||
|
title: Scheduler
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
## Scheduler Example
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
## Scheduler 2
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
# - entity: input_datetime.test_schedule_base
|
||||||
|
- type: section
|
||||||
|
label: 'Base Time of Day'
|
||||||
|
- entity: input_number.test_schedule_base_hour
|
||||||
|
- entity: input_number.test_schedule_base_minute
|
||||||
|
- type: divider
|
||||||
|
- entity: input_select.test_schedule_repeatin
|
||||||
|
# - entity: variable.test_schedule_countdown
|
||||||
|
# - entity: variable.test_schedule_next_timestamp
|
||||||
|
- type: divider
|
||||||
|
- entity: variable.test_schedule_next
|
||||||
|
- entity: sensor.test_schedule_next
|
||||||
|
- entity: variable.test_schedule_countdown
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
name: Enable Scheduler
|
||||||
|
icon: mdi:timer
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: script.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: script.enable_test_schedule
|
||||||
|
entity: script.enable_test_schedule
|
||||||
|
- type: entity-button
|
||||||
|
name: Disable Scheduler
|
||||||
|
icon: mdi:timer
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: script.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: script.disable_test_schedule
|
||||||
|
entity: script.disable_test_schedule
|
|
@ -0,0 +1,30 @@
|
||||||
|
title: Timer
|
||||||
|
cards:
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
name: start timer countdown
|
||||||
|
icon: mdi:timer
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: script.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: script.start_test_timer
|
||||||
|
entity: script.start_test_timer
|
||||||
|
- type: entity-button
|
||||||
|
name: abort timer
|
||||||
|
icon: mdi:timer-off
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: script.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: script.abort_test_timer
|
||||||
|
entity: script.abort_test_timer
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
- entity: variable.test_timer_countdown
|
||||||
|
- entity: variable.test_timer_device
|
||||||
|
name: dummy device
|
||||||
|
- entity: input_number.test_timer_duration
|
|
@ -0,0 +1,20 @@
|
||||||
|
title: UCI Lighting System
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
cards:
|
||||||
|
- type: glance
|
||||||
|
entities:
|
||||||
|
- entity: light.panic
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
name: Panic
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
||||||
|
- entity: sensor.panic_on_percent
|
||||||
|
icon: mdi:flash
|
||||||
|
name: 'circuits on'
|
||||||
|
show_state: true
|
||||||
|
- type: glance
|
||||||
|
entities:
|
||||||
|
- entity: switch.circuit_1
|
||||||
|
name: Circuit 1
|
||||||
|
tap_action:
|
||||||
|
action: toggle
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Exampe Scheduler
|
||||||
|
title: Zone1
|
||||||
|
cards:
|
||||||
|
- type: markdown
|
||||||
|
content: >
|
||||||
|
## Scheduler Example
|
||||||
|
- type: vertical-stack
|
||||||
|
cards:
|
||||||
|
- type: entities
|
||||||
|
entities:
|
||||||
|
# - entity: input_datetime.irrigation_zone_1_schedule_base
|
||||||
|
- type: section
|
||||||
|
label: 'Base Time of Day'
|
||||||
|
- entity: input_number.irrigation_zone_1_schedule_base_hour
|
||||||
|
- entity: input_number.irrigation_zone_1_schedule_base_minute
|
||||||
|
- type: divider
|
||||||
|
- entity: input_select.irrigation_zone_1_schedule_repeatin
|
||||||
|
# - entity: variable.irrigation_zone_1_schedule_countdown
|
||||||
|
# - entity: variable.irrigation_zone_1_schedule_next_timestamp
|
||||||
|
- type: divider
|
||||||
|
- entity: variable.irrigation_zone_1_schedule_next
|
||||||
|
- entity: sensor.irrigation_zone_1_schedule_next
|
||||||
|
- entity: variable.irrigation_zone_1_schedule_countdown
|
||||||
|
- type: horizontal-stack
|
||||||
|
cards:
|
||||||
|
- type: entity-button
|
||||||
|
name: Enable Scheduler
|
||||||
|
icon: mdi:timer
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: script.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: script.enable_irrigation_zone_1_schedule
|
||||||
|
entity: script.enable_irrigation_zone_1_schedule
|
||||||
|
- type: entity-button
|
||||||
|
name: Disable Scheduler
|
||||||
|
icon: mdi:timer
|
||||||
|
tap_action:
|
||||||
|
action: call-service
|
||||||
|
service: script.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: script.disable_irrigation_zone_1_schedule
|
||||||
|
entity: script.disable_irrigation_zone_1_schedule
|
|
@ -0,0 +1,76 @@
|
||||||
|
sensor:
|
||||||
|
- platform: template
|
||||||
|
sensors:
|
||||||
|
alarm_time:
|
||||||
|
friendly_name: "Time"
|
||||||
|
value_template: "{{ '%0.02d:%0.02d' | format(states('input_number.alarmhour') | int, states('input_number.alarmminutes') | int) }}"
|
||||||
|
- platform: time_date
|
||||||
|
display_options:
|
||||||
|
- 'time'
|
||||||
|
- 'date'
|
||||||
|
- 'date_time'
|
||||||
|
- 'time_date'
|
||||||
|
- 'time_utc'
|
||||||
|
|
||||||
|
automation:
|
||||||
|
- alias: 'Wake Me Up'
|
||||||
|
trigger:
|
||||||
|
platform: template
|
||||||
|
value_template: "{{ states.sensor.time.state == states.sensor.alarm_time.state }}"
|
||||||
|
condition:
|
||||||
|
condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.alarmweekday
|
||||||
|
state: 'on'
|
||||||
|
- condition: time
|
||||||
|
weekday:
|
||||||
|
- mon
|
||||||
|
- tue
|
||||||
|
- wed
|
||||||
|
- thu
|
||||||
|
- fri
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.alarmweekday
|
||||||
|
state: 'off'
|
||||||
|
action:
|
||||||
|
service: notify.notify
|
||||||
|
data_template:
|
||||||
|
message: 'Good morning. Time to Wake Up!'
|
||||||
|
title: ''
|
||||||
|
|
||||||
|
group:
|
||||||
|
default_view:
|
||||||
|
view: yes
|
||||||
|
entities:
|
||||||
|
- group.alarmclock
|
||||||
|
|
||||||
|
alarmclock:
|
||||||
|
name: Wake Me Up
|
||||||
|
entities:
|
||||||
|
- automation.wake_me_up
|
||||||
|
- sensor.alarm_time
|
||||||
|
- input_number.alarmhour
|
||||||
|
- input_number.alarmminutes
|
||||||
|
- input_boolean.alarmweekday
|
||||||
|
|
||||||
|
input_boolean:
|
||||||
|
alarmweekday:
|
||||||
|
name: Weekdays Only
|
||||||
|
icon: mdi:calendar
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
alarmhour:
|
||||||
|
name: Hour
|
||||||
|
icon: mdi:timer
|
||||||
|
min: 0
|
||||||
|
max: 23
|
||||||
|
step: 1
|
||||||
|
alarmminutes:
|
||||||
|
name: Minutes
|
||||||
|
icon: mdi:timer
|
||||||
|
min: 0
|
||||||
|
max: 59
|
||||||
|
step: 5
|
|
@ -0,0 +1,4 @@
|
||||||
|
camera:
|
||||||
|
- platform: generic
|
||||||
|
name: Roo Cam 1
|
||||||
|
stream_source: "http://doggie_cam_1.kebler.net"
|
|
@ -0,0 +1,78 @@
|
||||||
|
# package of switches to test gpio pins/relays for @uci/gpio example
|
||||||
|
# gpio pins on pine64 in order for relays 1-8 const PINS = [80,73,69,230,229,75,74,70]
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "uci Switch 1"
|
||||||
|
state_topic: "relay/status/80"
|
||||||
|
command_topic: "relay/set/80"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 2"
|
||||||
|
state_topic: "relay/status/73"
|
||||||
|
command_topic: "relay/set/73"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 3"
|
||||||
|
state_topic: "relay/status/69"
|
||||||
|
command_topic: "relay/set/69"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 4"
|
||||||
|
state_topic: "relay/status/230"
|
||||||
|
command_topic: "relay/set/230"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 5"
|
||||||
|
state_topic: "relay/status/229"
|
||||||
|
command_topic: "relay/set/229"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 6"
|
||||||
|
state_topic: "relay/status/75"
|
||||||
|
command_topic: "relay/set/75"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 7"
|
||||||
|
state_topic: "relay/status/74"
|
||||||
|
command_topic: "relay/set/74"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 8"
|
||||||
|
state_topic: "relay/status/70"
|
||||||
|
command_topic: "relay/set/70"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
|
||||||
|
|
||||||
|
# copy and paste and uncomment below as a view under views: in ui-lovelace.yaml
|
|
@ -0,0 +1,165 @@
|
||||||
|
# - Day
|
||||||
|
# - Every Other Day
|
||||||
|
# - Every Third Day
|
||||||
|
# - Every Week
|
||||||
|
# values:
|
||||||
|
# - 3
|
||||||
|
# - 6
|
||||||
|
# - 12
|
||||||
|
# - 24
|
||||||
|
# - 48
|
||||||
|
# - 72
|
||||||
|
# - 168
|
||||||
|
|
||||||
|
# sensor:
|
||||||
|
# - platform: template # Derived values
|
||||||
|
# sensors:
|
||||||
|
# irrigation_zone_1_schedule_delta: # computes delta based on choice
|
||||||
|
# entity_id: input_select.irrigation_zone_1_schedule_repeatin
|
||||||
|
# unit_of_measurement: 'hours'
|
||||||
|
# value_template: >
|
||||||
|
# {% for option in state_attr("input_select.irrigation_zone_1_schedule_repeatin", "options") -%}
|
||||||
|
# {% if is_state("input_select.irrigation_zone_1_schedule_repeatin", option) -%}
|
||||||
|
# {{ state_attr("input_select.irrigation_zone_1_schedule_repeatin", 'values')[loop.index - 1] }}
|
||||||
|
# {%- endif %}
|
||||||
|
# {%- endfor %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# format the next timestamp for humans
|
||||||
|
# irrigation_zone_1_schedule_next:
|
||||||
|
# friendly_name: Next run to start at
|
||||||
|
# entity_id: variable.irrigation_zone_1_schedule_next_timestamp
|
||||||
|
# value_template: '{{ states.variable.irrigation_zone_1_schedule_next.state | int | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
# irrigation_zone_1_schedule_countdown:
|
||||||
|
# friendly_name: Countdown to next run
|
||||||
|
# entity_id: variable.irrigation_zone_1_schedule_countdown
|
||||||
|
# # value_template: '{{ states.variable.irrigation_zone_1_schedule_countdown.state | int | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
# value_template: >-
|
||||||
|
# {% set time = states.variable.irrigation_zone_1_schedule_countdown.state | int %}
|
||||||
|
# {% set minutes = ((time % 3600) / 60) | int %}
|
||||||
|
# {% set hours = ((time % 86400) / 3600) | int %}
|
||||||
|
# {% set days = (time / 86400) | int %}
|
||||||
|
# {{time}} seconds is {{ days }}:{{ hours }}:{{minutes}} (D:H:M)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# switch:
|
||||||
|
# - platform: mqtt
|
||||||
|
# name: "Scheduler Test Solenoid"
|
||||||
|
# state_topic: "status/irrigation/zone_1"
|
||||||
|
# command_topic: "set/irrigation/zone_1"
|
||||||
|
# payload_on: "ON"
|
||||||
|
# payload_off: "OFF"
|
||||||
|
# qos: 0
|
||||||
|
# retain: true
|
||||||
|
|
||||||
|
|
||||||
|
# script:
|
||||||
|
# enable_irrigation_zone_1_schedule:
|
||||||
|
# sequence:
|
||||||
|
# - event: ENABLE_SCHEDULE
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_schedule_countdown
|
||||||
|
# value_template: '{{ states.variable.irrigation_zone_1_schedule_next_timestamp.state | int - as_timestamp(now()) }}'
|
||||||
|
# value_template: "{{ as_timestamp(now()) }}"
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_schedule_dummy_device
|
||||||
|
# value: 'ON'
|
||||||
|
# - service: automation.turn_on
|
||||||
|
# entity_id: automation.irrigation_zone_1_schedule_countdown
|
||||||
|
# - service: automation.turn_on
|
||||||
|
# data:
|
||||||
|
# entity_id: automation.irrigation_zone_1_timer_zero_trigger
|
||||||
|
# disable_irrigation_zone_1_schedule:
|
||||||
|
# sequence:
|
||||||
|
# - service: automation.turn_off
|
||||||
|
# data:
|
||||||
|
# entity_id: automation.irrigation_zone_1_schedule_countdown
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_schedule_countdown
|
||||||
|
# value: 0
|
||||||
|
# automation:
|
||||||
|
# - alias: irrigation_zone_1_schedule_countdown
|
||||||
|
# initial_state: false
|
||||||
|
# trigger:
|
||||||
|
# platform: time_pattern
|
||||||
|
# seconds: '/1'
|
||||||
|
# action:
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_schedule_countdown
|
||||||
|
# value_template: '{{ [((variable.state | int) - 1), 0] | max }}'
|
||||||
|
# - alias: irrigation_zone_1_schedule_changed
|
||||||
|
# # initial_state: false
|
||||||
|
# trigger:
|
||||||
|
# platform: state
|
||||||
|
# action:
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_schedule_countdown
|
||||||
|
# value_template: '{{ states.variable.irrigation_zone_1_schedule_next_timestamp.state | int - as_timestamp(now()) }}'
|
||||||
|
|
||||||
|
|
||||||
|
# - service: automation.turn_off
|
||||||
|
# data:
|
||||||
|
# entity_id: automation.irrigation_zone_1_timer_zero_trigger
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_timer_device
|
||||||
|
# value: 'OFF'
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# - alias: irrigation_zone_1_timer_zero_trigger
|
||||||
|
# initial_state: false
|
||||||
|
# trigger:
|
||||||
|
# platform: numeric_state
|
||||||
|
# entity_id: variable.irrigation_zone_1_timer_countdown
|
||||||
|
# below: 1
|
||||||
|
# action:
|
||||||
|
# - service: automation.turn_off
|
||||||
|
# entity_id: automation.irrigation_zone_1_timer_countdown
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: irrigation_zone_1_timer_device
|
||||||
|
# value: 'OFF'
|
||||||
|
# #
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# return corresponding value from input_select option of same name
|
||||||
|
# irrigation_zone_1_schedule_delta:
|
||||||
|
# entity_id: input_select.irrigation_zone_1_schedule_repeatin
|
||||||
|
# value_template: >
|
||||||
|
# {% for option in state_attr("input_select.irrigation_zone_1_schedule_repeatin", "options") -%}
|
||||||
|
# {% if is_state("input_select.irrigation_zone_1_schedule_repeatin", option) -%}
|
||||||
|
# {{ state_attr("input_select.irrigation_zone_1_schedule_repeatin", 'values')[loop.index - 1] }}
|
||||||
|
# {%- endif %}
|
||||||
|
# {%- endfor %}
|
||||||
|
# irrigation_zone_1_schedule_base_timestamp:
|
||||||
|
# entity_id: input_datetime.irrigation_zone_1_schedule_base
|
||||||
|
# value_template: >
|
||||||
|
# {{
|
||||||
|
# as_timestamp(now())
|
||||||
|
# - ( now().second + now().minute | int * 60 + now().hour | int * 3600 )
|
||||||
|
# + state_attr('input_datetime.irrigation_zone_1_schedule_base','hour')|int * 3600
|
||||||
|
# + state_attr('input_datetime.irrigation_zone_1_schedule_base','minute') * 60
|
||||||
|
# }}
|
||||||
|
# value_template: "{{ (state_attr('input_datetime.irrigation_zone_1_schedule_base','hour')|int * 3600 + state_attr('input_datetime.irrigation_zone_1_schedule_base','minute')|int * 60) | timestamp_custom('%A, %d %h %H:%M') }}"
|
||||||
|
# value_template: >
|
||||||
|
# "{{ (state_attr('input_datetime.irrigation_zone_1_schedule_base','hour')|int * 3600 +
|
||||||
|
# state_attr('input_datetime.irrigation_zone_1_schedule_base','minute')|int * 60 +
|
||||||
|
# as_timestamp(now()))
|
||||||
|
# | timestamp_custom("%A, %d %h %H:%M") }}"
|
||||||
|
|
||||||
|
# value_template: "{{ states(input_datetime.irrigation_zone_1_schedule_base) }}"
|
||||||
|
# {{ as_timestamp(now()) + as_timestamp(states.input_datetime.irrigation_zone_1_schedule_base) }}
|
||||||
|
# {{ as_timestamp(now()) + as_timestamp(states.input_datetime.irrigation_zone_1_schedule_base) }}
|
|
@ -0,0 +1,23 @@
|
||||||
|
# values to store within HA
|
||||||
|
variable:
|
||||||
|
node_test_sum:
|
||||||
|
value: 0
|
||||||
|
# dummy device value to turn on and off
|
||||||
|
node_test_switch:
|
||||||
|
value: 'OFF'
|
||||||
|
attributes:
|
||||||
|
icon: mdi:flash
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
node_test_first_number:
|
||||||
|
name: "First Number"
|
||||||
|
initial: 25
|
||||||
|
min: 0
|
||||||
|
max: 100
|
||||||
|
step: 1
|
||||||
|
node_test_second_number:
|
||||||
|
name: "Second Number"
|
||||||
|
initial: 75
|
||||||
|
min: 0
|
||||||
|
max: 100
|
||||||
|
step: 1
|
|
@ -0,0 +1,47 @@
|
||||||
|
homeassistant:
|
||||||
|
# Customize for Sprinklers - map relay to sprinkler name/location
|
||||||
|
customize:
|
||||||
|
switch.relay1:
|
||||||
|
friendly_name: Front Yard North
|
||||||
|
# sensor.closet_temperature:
|
||||||
|
# friendly_name: Closet Temperature (C)
|
||||||
|
# input_number.fan_on_temp:
|
||||||
|
# friendly_name: Fan On Set Temperature (C)
|
||||||
|
|
||||||
|
# 8 Relay Board, Topic number is gpio pin
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "relay1" # Pine64 gpio 80 is pin 40
|
||||||
|
state_topic: "relays/status/80"
|
||||||
|
command_topic: "relays/set/80"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:water
|
||||||
|
|
||||||
|
# This automation script runs when a value is received via MQTT on retained topic: setTemperature
|
||||||
|
# It sets the value slider on the GUI. This slides also had its own automation when the value is changed.
|
||||||
|
automation:
|
||||||
|
# - alias: Closet Fan On Set Temperature slider
|
||||||
|
# trigger:
|
||||||
|
# platform: mqtt
|
||||||
|
# topic: 'closet/status/fan/automation/temp'
|
||||||
|
# action:
|
||||||
|
# service: input_number.set_value
|
||||||
|
# data_template:
|
||||||
|
# entity_id: input_number.fan_on_temp
|
||||||
|
# value: "{{ trigger.payload }}"
|
||||||
|
|
||||||
|
# This second automation script runs when the target temperature slider is moved.
|
||||||
|
# It publishes its value to the same MQTT topic it is also subscribed to.
|
||||||
|
# - alias: Closet Fan Temp Slider Moved
|
||||||
|
# trigger:
|
||||||
|
# platform: state
|
||||||
|
# entity_id: input_number.fan_on_temp
|
||||||
|
# action:
|
||||||
|
# service: mqtt.publish
|
||||||
|
# data_template:
|
||||||
|
# topic: 'closet/fan/automation/temp'
|
||||||
|
# retain: true
|
||||||
|
# payload: "{{ states('input_number.fan_on_temp') }}"
|
|
@ -0,0 +1,131 @@
|
||||||
|
- id: lounge_aircon_manual
|
||||||
|
alias: 'Lounge Room Aircon'
|
||||||
|
hide_entity: True
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: input_select.lounge_ac_mode
|
||||||
|
action:
|
||||||
|
- service_template: >
|
||||||
|
{% if is_state('input_select.lounge_ac_mode', 'Powerful Heat') %} shell_command.lounge_ac_powerful_heat
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Normal Heat') %} shell_command.lounge_ac_normal_heat
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Silent Heat') %} shell_command.lounge_ac_silent_heat
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Powerful Cool') %} shell_command.lounge_ac_powerful_cool
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Normal Cool') %} shell_command.lounge_ac_normal_cool
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Silent Cool') %} shell_command.lounge_ac_silent_cool
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Dry') %} shell_command.lounge_ac_dry
|
||||||
|
{% elif is_state('input_select.lounge_ac_mode', 'Off') %} shell_command.lounge_ac_off
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
- id: lounge_aircon_auto_am_on
|
||||||
|
alias: 'Lounge Room Aircon Scheduled AM On'
|
||||||
|
trigger:
|
||||||
|
platform: template
|
||||||
|
value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_am_on_time.state[0:5]) }}"
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_am_automation # If automation is required and ...
|
||||||
|
state: 'on'
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_workday # If workday is not tested or is a workday
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.workday_sensor
|
||||||
|
state: 'on'
|
||||||
|
action:
|
||||||
|
- service: input_select.select_option
|
||||||
|
data_template:
|
||||||
|
entity_id: input_select.lounge_ac_mode
|
||||||
|
option: >
|
||||||
|
{% if states.sensor.stats_roomt_mean.state < states.input_number.lounge_ac_heat_temp_set.state %}
|
||||||
|
Normal Heat
|
||||||
|
{% elif states.sensor.stats_roomt_mean.state > states.input_number.lounge_ac_cool_temp_set.state %}
|
||||||
|
Normal Cool
|
||||||
|
{% else %}
|
||||||
|
'Off'
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
- id: lounge_aircon_auto_pm_on
|
||||||
|
alias: 'Lounge Room Aircon Scheduled PM On'
|
||||||
|
trigger:
|
||||||
|
platform: template
|
||||||
|
value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_pm_on_time.state[0:5]) }}"
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_pm_automation # If automation is required and ...
|
||||||
|
state: 'on'
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_workday # If workday is not tested or is a workday
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.workday_sensor
|
||||||
|
state: 'on'
|
||||||
|
action:
|
||||||
|
- service: input_select.select_option
|
||||||
|
data_template:
|
||||||
|
entity_id: input_select.lounge_ac_mode
|
||||||
|
option: >
|
||||||
|
{% if states.sensor.stats_roomt_mean.state < states.input_number.lounge_ac_heat_temp_set.state %}
|
||||||
|
Normal Heat
|
||||||
|
{% elif states.sensor.stats_roomt_mean.state > states.input_number.lounge_ac_cool_temp_set.state %}
|
||||||
|
Normal Cool
|
||||||
|
{% else %}
|
||||||
|
'Off'
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
- id: lounge_aircon_auto_am_off
|
||||||
|
alias: 'Lounge Room Aircon Scheduled AM Off'
|
||||||
|
trigger:
|
||||||
|
platform: template
|
||||||
|
value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_am_off_time.state[0:5]) }}"
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_am_automation # If automation is required and ...
|
||||||
|
state: 'on'
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_workday # If workday is not tested or is a workday
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.workday_sensor
|
||||||
|
state: 'on'
|
||||||
|
action:
|
||||||
|
- service: input_select.select_option
|
||||||
|
data_template:
|
||||||
|
entity_id: input_select.lounge_ac_mode
|
||||||
|
option: 'Off'
|
||||||
|
|
||||||
|
- id: lounge_aircon_auto_pm_off
|
||||||
|
alias: 'Lounge Room Aircon Scheduled PM Off'
|
||||||
|
trigger:
|
||||||
|
platform: template
|
||||||
|
value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_pm_off_time.state[0:5]) }}"
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_pm_automation # If automation is required and ...
|
||||||
|
state: 'on'
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.lounge_ac_workday # If workday not tested or if workday
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.workday_sensor
|
||||||
|
state: 'on'
|
||||||
|
action:
|
||||||
|
- service: input_select.select_option
|
||||||
|
data_template:
|
||||||
|
entity_id: input_select.lounge_ac_mode
|
||||||
|
option: 'Off'
|
|
@ -0,0 +1,203 @@
|
||||||
|
|
||||||
|
# values to store within HA
|
||||||
|
variable:
|
||||||
|
test_schedule_countdown:
|
||||||
|
value: 0
|
||||||
|
attributes:
|
||||||
|
icon: mdi:clock
|
||||||
|
test_schedule_next:
|
||||||
|
value: 0
|
||||||
|
|
||||||
|
# input_boolean:
|
||||||
|
# test_schedule_enable:
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
test_schedule_base_hour:
|
||||||
|
name: "Hour of Day"
|
||||||
|
unit_of_measurement: hours
|
||||||
|
initial: 6
|
||||||
|
min: 0
|
||||||
|
max: 24
|
||||||
|
step: 1
|
||||||
|
icon: mdi:camera-timer
|
||||||
|
test_schedule_base_minute:
|
||||||
|
name: "Minute of Day"
|
||||||
|
unit_of_measurement: minutes
|
||||||
|
initial: 0
|
||||||
|
min: 0
|
||||||
|
max: 45
|
||||||
|
step: 15
|
||||||
|
icon: mdi:camera-timer
|
||||||
|
|
||||||
|
# use sensor.test_schedule_repeatin to get corresponding value for option
|
||||||
|
input_select:
|
||||||
|
test_schedule_repeatin:
|
||||||
|
name: Repeat Every
|
||||||
|
icon: mdi:repeat
|
||||||
|
initial: 12 Hours
|
||||||
|
options:
|
||||||
|
- 3 Hours
|
||||||
|
- 6 Hours
|
||||||
|
- 12 Hours
|
||||||
|
- Day
|
||||||
|
- Every Other Day
|
||||||
|
- Every Third Day
|
||||||
|
- Every Week
|
||||||
|
values:
|
||||||
|
- 3
|
||||||
|
- 6
|
||||||
|
- 12
|
||||||
|
- 24
|
||||||
|
- 48
|
||||||
|
- 72
|
||||||
|
- 168
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: template # Derived variables
|
||||||
|
sensors:
|
||||||
|
# format the next timestamp for humans
|
||||||
|
test_schedule_next:
|
||||||
|
friendly_name: Next run to start at
|
||||||
|
entity_id: variable.test_schedule_next_timestamp
|
||||||
|
value_template: '{{ states.variable.test_schedule_next.state | int | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
test_schedule_countdown:
|
||||||
|
friendly_name: Countdown to next run
|
||||||
|
entity_id: variable.test_schedule_countdown
|
||||||
|
# value_template: '{{ states.variable.test_schedule_countdown.state | int | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
value_template: >-
|
||||||
|
{% set time = states.variable.test_schedule_countdown.state | int %}
|
||||||
|
{% set minutes = ((time % 3600) / 60) | int %}
|
||||||
|
{% set hours = ((time % 86400) / 3600) | int %}
|
||||||
|
{% set days = (time / 86400) | int %}
|
||||||
|
{{time}} seconds is {{ days }}:{{ hours }}:{{minutes}} (D:H:M)
|
||||||
|
test_schedule_delta:
|
||||||
|
entity_id: input_select.test_schedule_repeatin
|
||||||
|
unit_of_measurement: 'hours'
|
||||||
|
value_template: >
|
||||||
|
{% for option in state_attr("input_select.test_schedule_repeatin", "options") -%}
|
||||||
|
{% if is_state("input_select.test_schedule_repeatin", option) -%}
|
||||||
|
{{ state_attr("input_select.test_schedule_repeatin", 'values')[loop.index - 1] }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Scheduler Test Solenoid"
|
||||||
|
state_topic: "status/irrigation/zone_1"
|
||||||
|
command_topic: "set/irrigation/zone_1"
|
||||||
|
payload_on: "ON"
|
||||||
|
payload_off: "OFF"
|
||||||
|
qos: 0
|
||||||
|
retain: true
|
||||||
|
|
||||||
|
|
||||||
|
script:
|
||||||
|
enable_test_schedule:
|
||||||
|
sequence:
|
||||||
|
- event: ENABLE_SCHEDULE
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_schedule_countdown
|
||||||
|
value_template: '{{ states.variable.test_schedule_next_timestamp.state | int - as_timestamp(now()) }}'
|
||||||
|
# value_template: "{{ as_timestamp(now()) }}"
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: test_schedule_dummy_device
|
||||||
|
# value: 'ON'
|
||||||
|
# - service: automation.turn_on
|
||||||
|
# entity_id: automation.test_schedule_countdown
|
||||||
|
# - service: automation.turn_on
|
||||||
|
# data:
|
||||||
|
# entity_id: automation.test_timer_zero_trigger
|
||||||
|
disable_test_schedule:
|
||||||
|
sequence:
|
||||||
|
- service: automation.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: automation.test_schedule_countdown
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_schedule_countdown
|
||||||
|
value: 0
|
||||||
|
|
||||||
|
|
||||||
|
automation:
|
||||||
|
- alias: test_schedule_countdown
|
||||||
|
initial_state: false
|
||||||
|
trigger:
|
||||||
|
platform: time_pattern
|
||||||
|
seconds: '/1'
|
||||||
|
action:
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_schedule_countdown
|
||||||
|
value_template: '{{ [((variable.state | int) - 1), 0] | max }}'
|
||||||
|
# - alias: test_schedule_changed
|
||||||
|
# # initial_state: false
|
||||||
|
# trigger:
|
||||||
|
# platform: state
|
||||||
|
# action:
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: test_schedule_countdown
|
||||||
|
# value_template: '{{ states.variable.test_schedule_next_timestamp.state | int - as_timestamp(now()) }}'
|
||||||
|
|
||||||
|
|
||||||
|
# - service: automation.turn_off
|
||||||
|
# data:
|
||||||
|
# entity_id: automation.test_timer_zero_trigger
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: test_timer_device
|
||||||
|
# value: 'OFF'
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# - alias: test_timer_zero_trigger
|
||||||
|
# initial_state: false
|
||||||
|
# trigger:
|
||||||
|
# platform: numeric_state
|
||||||
|
# entity_id: variable.test_timer_countdown
|
||||||
|
# below: 1
|
||||||
|
# action:
|
||||||
|
# - service: automation.turn_off
|
||||||
|
# entity_id: automation.test_timer_countdown
|
||||||
|
# - service: variable.set_variable
|
||||||
|
# data:
|
||||||
|
# variable: test_timer_device
|
||||||
|
# value: 'OFF'
|
||||||
|
# #
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# return corresponding value from input_select option of same name
|
||||||
|
# test_schedule_delta:
|
||||||
|
# entity_id: input_select.test_schedule_repeatin
|
||||||
|
# value_template: >
|
||||||
|
# {% for option in state_attr("input_select.test_schedule_repeatin", "options") -%}
|
||||||
|
# {% if is_state("input_select.test_schedule_repeatin", option) -%}
|
||||||
|
# {{ state_attr("input_select.test_schedule_repeatin", 'values')[loop.index - 1] }}
|
||||||
|
# {%- endif %}
|
||||||
|
# {%- endfor %}
|
||||||
|
# test_schedule_base_timestamp:
|
||||||
|
# entity_id: input_datetime.test_schedule_base
|
||||||
|
# value_template: >
|
||||||
|
# {{
|
||||||
|
# as_timestamp(now())
|
||||||
|
# - ( now().second + now().minute | int * 60 + now().hour | int * 3600 )
|
||||||
|
# + state_attr('input_datetime.test_schedule_base','hour')|int * 3600
|
||||||
|
# + state_attr('input_datetime.test_schedule_base','minute') * 60
|
||||||
|
# }}
|
||||||
|
# value_template: "{{ (state_attr('input_datetime.test_schedule_base','hour')|int * 3600 + state_attr('input_datetime.test_schedule_base','minute')|int * 60) | timestamp_custom('%A, %d %h %H:%M') }}"
|
||||||
|
# value_template: >
|
||||||
|
# "{{ (state_attr('input_datetime.test_schedule_base','hour')|int * 3600 +
|
||||||
|
# state_attr('input_datetime.test_schedule_base','minute')|int * 60 +
|
||||||
|
# as_timestamp(now()))
|
||||||
|
# | timestamp_custom("%A, %d %h %H:%M") }}"
|
||||||
|
|
||||||
|
# value_template: "{{ states(input_datetime.test_schedule_base) }}"
|
||||||
|
# {{ as_timestamp(now()) + as_timestamp(states.input_datetime.test_schedule_base) }}
|
||||||
|
# {{ as_timestamp(now()) + as_timestamp(states.input_datetime.test_schedule_base) }}
|
|
@ -0,0 +1,117 @@
|
||||||
|
|
||||||
|
# values to store within HA
|
||||||
|
variable:
|
||||||
|
test_timer_countdown:
|
||||||
|
value: 0
|
||||||
|
attributes:
|
||||||
|
icon: mdi:timer
|
||||||
|
# dummy device value to turn on and off
|
||||||
|
test_timer_device:
|
||||||
|
value: 'OFF'
|
||||||
|
attributes:
|
||||||
|
icon: mdi:flash
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
test_timer_duration:
|
||||||
|
name: "Duration"
|
||||||
|
unit_of_measurement: seconds
|
||||||
|
initial: 3
|
||||||
|
min: 1
|
||||||
|
max: 15
|
||||||
|
step: 1
|
||||||
|
icon: mdi:camera-timer
|
||||||
|
|
||||||
|
script:
|
||||||
|
start_test_timer:
|
||||||
|
sequence:
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_timer_countdown
|
||||||
|
value_template: '{{ states.input_number.test_timer_duration.state | int }}'
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_timer_device
|
||||||
|
value: 'ON'
|
||||||
|
- service: automation.turn_on
|
||||||
|
data:
|
||||||
|
entity_id: automation.test_timer_countdown
|
||||||
|
- service: automation.turn_on
|
||||||
|
data:
|
||||||
|
entity_id: automation.test_timer_zero_trigger
|
||||||
|
|
||||||
|
|
||||||
|
abort_test_timer:
|
||||||
|
sequence:
|
||||||
|
- service: automation.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: automation.test_timer_countdown
|
||||||
|
- service: automation.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: automation.test_timer_zero_trigger
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_timer_device
|
||||||
|
value: 'OFF'
|
||||||
|
- service: persistent_notification.create
|
||||||
|
data:
|
||||||
|
message: "Timer was Aborted"
|
||||||
|
title: "ALERT"
|
||||||
|
|
||||||
|
#
|
||||||
|
automation:
|
||||||
|
- alias: test_timer_zero_trigger
|
||||||
|
initial_state: false
|
||||||
|
trigger:
|
||||||
|
platform: numeric_state
|
||||||
|
entity_id: variable.test_timer_countdown
|
||||||
|
below: 1
|
||||||
|
action:
|
||||||
|
- service: automation.turn_off
|
||||||
|
entity_id: automation.test_timer_countdown
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_timer_device
|
||||||
|
value: 'OFF'
|
||||||
|
#
|
||||||
|
- alias: test_timer_countdown
|
||||||
|
initial_state: false
|
||||||
|
trigger:
|
||||||
|
platform: time_pattern
|
||||||
|
seconds: '/1'
|
||||||
|
action:
|
||||||
|
- service: variable.set_variable
|
||||||
|
data:
|
||||||
|
variable: test_timer_countdown
|
||||||
|
value_template: '{{ [((variable.state | int) - 1), 0] | max }}'
|
||||||
|
|
||||||
|
# lovelace ui view for timer, copy into ui-lovelace.yaml as a view (lovelace in yaml mode)
|
||||||
|
# - title: Timer
|
||||||
|
# cards:
|
||||||
|
# - type: vertical-stack
|
||||||
|
# cards:
|
||||||
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: entity-button
|
||||||
|
# name: start timer countdown
|
||||||
|
# icon: mdi:timer
|
||||||
|
# tap_action:
|
||||||
|
# action: call-service
|
||||||
|
# service: script.turn_on
|
||||||
|
# service_data:
|
||||||
|
# entity_id: script.start_test_timer
|
||||||
|
# entity: script.start_test_timer
|
||||||
|
# - type: entity-button
|
||||||
|
# name: abort timer
|
||||||
|
# icon: mdi:timer-off
|
||||||
|
# tap_action:
|
||||||
|
# action: call-service
|
||||||
|
# service: script.turn_on
|
||||||
|
# service_data:
|
||||||
|
# entity_id: script.abort_test_timer
|
||||||
|
# entity: script.abort_test_timer
|
||||||
|
# - type: entities
|
||||||
|
# entities:
|
||||||
|
# - entity: variable.test_timer_countdown
|
||||||
|
# - entity: variable.test_timer_device
|
||||||
|
# name: dummy device
|
||||||
|
# - entity: input_number.test_timer_duration
|
|
@ -0,0 +1,73 @@
|
||||||
|
# package of switches to interface the the fio (four in one) socket example of @uci/base
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "FIO Switch 1"
|
||||||
|
state_topic: "fio/switch/status/1"
|
||||||
|
command_topic: "fio/switch/set/1"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "FIO Switch 2"
|
||||||
|
state_topic: "fio/switch/status/2"
|
||||||
|
command_topic: "fio/switch/set/2"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "FIO Switch 3"
|
||||||
|
state_topic: "fio/switch/status/3"
|
||||||
|
command_topic: "fio/switch/set/3"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "FIO Switch 4"
|
||||||
|
state_topic: "fio/switch/status/4"
|
||||||
|
command_topic: "fio/switch/set/4"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
|
||||||
|
# copy and paste and uncomment below as a view under views: in ui-lovelace.yaml
|
||||||
|
# - title: UCI Base FIO Example
|
||||||
|
# cards:
|
||||||
|
# - type: vertical-stack
|
||||||
|
# cards:
|
||||||
|
# - type: markdown
|
||||||
|
# content: >
|
||||||
|
# # Four In One UCI Base Example
|
||||||
|
# - type: horizontal-stack
|
||||||
|
# cards:
|
||||||
|
# - type: entity-button
|
||||||
|
# entity: switch.fio_switch_1
|
||||||
|
# icon: mdi:water
|
||||||
|
# name: Switch 1
|
||||||
|
# tap_action:
|
||||||
|
# action: toggle
|
||||||
|
# - type: entity-button
|
||||||
|
# entity: switch.fio_switch_2
|
||||||
|
# icon: mdi:water
|
||||||
|
# name: Switch 2
|
||||||
|
# tap_action:
|
||||||
|
# action: toggle
|
||||||
|
# - type: entity-button
|
||||||
|
# entity: switch.fio_switch_3
|
||||||
|
# icon: mdi:water
|
||||||
|
# name: Switch 3
|
||||||
|
# tap_action:
|
||||||
|
# action: toggle
|
||||||
|
# - type: entity-button
|
||||||
|
# entity: switch.fio_switch_4
|
||||||
|
# icon: mdi:water
|
||||||
|
# name: Switch 4
|
||||||
|
# tap_action:
|
||||||
|
# action: toggle
|
|
@ -0,0 +1,78 @@
|
||||||
|
# package of switches to test gpio pins/relays for @uci/gpio example
|
||||||
|
# gpio pins on pine64 in order for relays 1-8 const PINS = [80,73,69,230,229,75,74,70]
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 1"
|
||||||
|
state_topic: "relay/status/80"
|
||||||
|
command_topic: "relay/set/80"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 2"
|
||||||
|
state_topic: "relay/status/73"
|
||||||
|
command_topic: "relay/set/73"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 3"
|
||||||
|
state_topic: "relay/status/69"
|
||||||
|
command_topic: "relay/set/69"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 4"
|
||||||
|
state_topic: "relay/status/230"
|
||||||
|
command_topic: "relay/set/230"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 5"
|
||||||
|
state_topic: "relay/status/229"
|
||||||
|
command_topic: "relay/set/229"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 6"
|
||||||
|
state_topic: "relay/status/75"
|
||||||
|
command_topic: "relay/set/75"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 7"
|
||||||
|
state_topic: "relay/status/74"
|
||||||
|
command_topic: "relay/set/74"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
- platform: mqtt
|
||||||
|
name: "pine64 Switch 8"
|
||||||
|
state_topic: "relay/status/70"
|
||||||
|
command_topic: "relay/set/70"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
icon: mdi:lightbulb
|
||||||
|
|
||||||
|
|
||||||
|
# copy and paste and uncomment below as a view under views: in ui-lovelace.yaml
|
|
@ -0,0 +1,37 @@
|
||||||
|
# homeassistant:
|
||||||
|
# customize:
|
||||||
|
# fan.fan_state:
|
||||||
|
# friendly_name: 'Fan State (manual override)'
|
||||||
|
# sensor.closet_temperature:
|
||||||
|
# friendly_name: 'Closet Temperature (C)'
|
||||||
|
# input_number.fan_on_temp:
|
||||||
|
# friendly_name: 'Fan On Set Temperature (C)'
|
||||||
|
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Circuit 1"
|
||||||
|
state_topic: "lighting/status/circuits/x1-Erof"
|
||||||
|
command_topic: "lighting/set/circuits/x1-Erof"
|
||||||
|
state_on: "on"
|
||||||
|
state_off: "off"
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
|
||||||
|
light:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Panic"
|
||||||
|
command_topic: "lighting/set/switches/panic-xr2R"
|
||||||
|
state_topic: "lighting/status/switches/panic-xr2R"
|
||||||
|
# brightness_state_topic: "lighting/status/switches/panic-xr2R"
|
||||||
|
# brightness_command_topic: "bogus"
|
||||||
|
# brightness_scale: 100
|
||||||
|
qos: 0
|
||||||
|
payload_on: "on"
|
||||||
|
payload_off: "off"
|
||||||
|
optimistic: true
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Panic On Percent"
|
||||||
|
unit_of_measurement: '%'
|
||||||
|
state_topic: "lighting/status/switches/panic-xr2R"
|
|
@ -0,0 +1,20 @@
|
||||||
|
sensor:
|
||||||
|
- platform: wundergroundpws
|
||||||
|
api_key: d54bc75310ae4d378bc75310aead372e
|
||||||
|
pws_id: KORPRAIR9
|
||||||
|
# lang: de
|
||||||
|
monitored_conditions:
|
||||||
|
- stationID
|
||||||
|
- solarRadiation
|
||||||
|
- obsTimeLocal
|
||||||
|
- uv
|
||||||
|
- winddir
|
||||||
|
- humidity
|
||||||
|
- dewpt
|
||||||
|
- heatIndex
|
||||||
|
- windChill
|
||||||
|
- precipTotal
|
||||||
|
- precipRate
|
||||||
|
- temp
|
||||||
|
- windGust
|
||||||
|
- windSpeed
|
|
@ -0,0 +1,204 @@
|
||||||
|
sensor:
|
||||||
|
- platform: template
|
||||||
|
sensors:
|
||||||
|
# values used for run
|
||||||
|
zone_1_base_time:
|
||||||
|
value_template: '{{ "{:02d}".format(states.input_number.zone_1_timer_hours.state|int) }}:{{ "{:02d}".format(states.input_number.zone_1_timer_minutes.state|int) }}'
|
||||||
|
friendly_name: "Base TOD HH:MM"
|
||||||
|
zone_1_duration:
|
||||||
|
value_template: '{{states.input_number.zone_1_duration.state | int}}mins'
|
||||||
|
friendly_name: "Duration"
|
||||||
|
zone_1_repeat:
|
||||||
|
value_template: '{{ "{:02d}".format(states.input_number.zone_1_repeat.state|int)}} hrs'
|
||||||
|
friendly_name: "Repeat in"
|
||||||
|
# run computed/state values
|
||||||
|
zone_1_time_delta:
|
||||||
|
friendly_name: "Next Run (secs)"
|
||||||
|
value_template: '{{states.input_number.zone_1_repeat.state|int * 3600}}'
|
||||||
|
zone_1_next_run:
|
||||||
|
friendly_name: "Next Run"
|
||||||
|
value_template: '{{states.sensor.zone_1_timer_next.state}}'
|
||||||
|
zone_1_last_run:
|
||||||
|
friendly_name: "Last Run"
|
||||||
|
value_template: '{{ (as_timestamp(states.switch.zone_1.last_changed)) | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
|
||||||
|
# zone_1_rain_sensor:
|
||||||
|
# friendly_name: "Rainfall Threshold Sensitivity"
|
||||||
|
# value_template: >-
|
||||||
|
# {% if states.sensor.pws_precip_1d.state <= states.input_number.pws_precip_1d_sensitivity.state and states.sensor.pws_precip_today_metric.state <= states.input_number.pws_precip_today_metric_sensitivity.state %}
|
||||||
|
# dry
|
||||||
|
# {% else %}
|
||||||
|
# too wet
|
||||||
|
# {% endif %}
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
zone_1_timer_minutes:
|
||||||
|
name: "Minutes"
|
||||||
|
initial: 0
|
||||||
|
min: 0
|
||||||
|
max: 55
|
||||||
|
step: 5
|
||||||
|
icon: mdi:timer
|
||||||
|
zone_1_timer_hours:
|
||||||
|
name: "Hour"
|
||||||
|
initial: 6
|
||||||
|
min: 0
|
||||||
|
max: 23
|
||||||
|
step: 1
|
||||||
|
icon: mdi:timer
|
||||||
|
zone_1_duration:
|
||||||
|
name: "Duration"
|
||||||
|
initial: 3
|
||||||
|
min: 1
|
||||||
|
max: 15
|
||||||
|
step: 1
|
||||||
|
icon: mdi:camera-timer
|
||||||
|
zone_1_repeat:
|
||||||
|
name: "Repeat Every - HH"
|
||||||
|
initial: 24
|
||||||
|
min: 0
|
||||||
|
max: 48
|
||||||
|
step: 6
|
||||||
|
icon: mdi:repeat
|
||||||
|
# #
|
||||||
|
# #
|
||||||
|
group:
|
||||||
|
zone_1_status:
|
||||||
|
icon: mdi:clock
|
||||||
|
entities:
|
||||||
|
- sensor.zone_1_last_run
|
||||||
|
- sensor.zone_1_next_run
|
||||||
|
# - sensor.zone_1_duration
|
||||||
|
# - sensor.zone_1_repeat
|
||||||
|
zone_1_set:
|
||||||
|
icon: mdi:settings
|
||||||
|
entities:
|
||||||
|
- sensor.zone_1_base_time
|
||||||
|
- input_number.zone_1_timer_hours
|
||||||
|
- input_number.zone_1_timer_minutes
|
||||||
|
- input_number.zone_1_duration
|
||||||
|
- input_number.zone_1_repeat
|
||||||
|
#- input_boolean.zone_1_reset_zone
|
||||||
|
|
||||||
|
# Zone switch, trigger, and run script
|
||||||
|
|
||||||
|
sensor mqtt:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Zone 1 Timer Next"
|
||||||
|
state_topic: "run/irrigation/zone1"
|
||||||
|
|
||||||
|
input_boolean:
|
||||||
|
zone_1_reset_zone:
|
||||||
|
name: Reset Next Run Timer
|
||||||
|
initial: off
|
||||||
|
icon: mdi:lock-reset
|
||||||
|
|
||||||
|
switch mqtt:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Zone 1"
|
||||||
|
state_topic: "status/irrigation/zone_1"
|
||||||
|
command_topic: "set/irrigation/zone_1"
|
||||||
|
payload_on: "ON"
|
||||||
|
payload_off: "OFF"
|
||||||
|
qos: 0
|
||||||
|
retain: true
|
||||||
|
|
||||||
|
switch:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Zone 1 Timer"
|
||||||
|
state_topic: "status/irrigation/timer/zone_1"
|
||||||
|
command_topic: "set/irrigation/timer/zone_1"
|
||||||
|
state_on: "enabled"
|
||||||
|
state_off: "disabled"
|
||||||
|
payload_on: "enable"
|
||||||
|
payload_off: "disable"
|
||||||
|
icon: mdi:timer
|
||||||
|
|
||||||
|
automation zone_1_trigger:
|
||||||
|
alias: "Trigger Zone 1 Run"
|
||||||
|
trigger:
|
||||||
|
- platform: time_pattern
|
||||||
|
minutes: '/1'
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{(as_timestamp(now()) | timestamp_custom("%A, %d %h %H:%M")) == states.sensor.zone_1_next_run.state}}'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: sensor.rain_sensor
|
||||||
|
# state: 'dry'
|
||||||
|
action:
|
||||||
|
- service: script.turn_on
|
||||||
|
entity_id: script.zone_1_run
|
||||||
|
|
||||||
|
script:
|
||||||
|
zone_1_run:
|
||||||
|
sequence:
|
||||||
|
- alias: "Switch on Zone 1"
|
||||||
|
service: switch.turn_on
|
||||||
|
entity_id: switch.zone_1
|
||||||
|
- delay: '00:{{ states.input_number.zone_1_duration.state | int }}:00'
|
||||||
|
- alias: "Switch off Zone 1"
|
||||||
|
service: switch.turn_off
|
||||||
|
entity_id: switch.zone_1
|
||||||
|
- alias: "Update Next Run Time"
|
||||||
|
service: mqtt.publish
|
||||||
|
data:
|
||||||
|
topic: "run/irrigation/zone1"
|
||||||
|
retain: 1
|
||||||
|
payload_template: '{{ (as_timestamp(states.switch.zone_1.last_changed) + states.sensor.zone_1_time_delta.state | int) | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# automation zone_1_2:
|
||||||
|
# alias: "Zone 1 Active Notification"
|
||||||
|
# hide_entity: False
|
||||||
|
# trigger:
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: switch.zone_1
|
||||||
|
# from: 'off'
|
||||||
|
# to: 'on'
|
||||||
|
# action:
|
||||||
|
# - service: notify.pushbullet
|
||||||
|
# data:
|
||||||
|
# title: "Irrigation Zone 1"
|
||||||
|
# message: "Watering has started"
|
||||||
|
#
|
||||||
|
# automation zone_1_3:
|
||||||
|
# alias: "Zone 1 Completed Notification"
|
||||||
|
# hide_entity: False
|
||||||
|
# trigger:
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: switch.zone_1
|
||||||
|
# from: 'on'
|
||||||
|
# to: 'off'
|
||||||
|
# action:
|
||||||
|
# - service: notify.pushbullet
|
||||||
|
# data:
|
||||||
|
# title: "Irrigation Zone 1"
|
||||||
|
# message: "Watering has completed"
|
||||||
|
#
|
||||||
|
# automation zone_1_4:
|
||||||
|
# alias: "Zone 1 Timer Reset"
|
||||||
|
# trigger:
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_boolean.reset_zone_1
|
||||||
|
# from: 'off'
|
||||||
|
# to: 'on'
|
||||||
|
# action:
|
||||||
|
# - service: mqtt.publish
|
||||||
|
# data:
|
||||||
|
# topic: "cmnd/zone_1_control/TIMER"
|
||||||
|
# retain: 1
|
||||||
|
# payload_template: >-
|
||||||
|
# {%if now().strftime("%H:%M") > states.sensor.zone_1_timer.state %}
|
||||||
|
# {{(as_timestamp(now() )+24*3600 ) | timestamp_custom("%A, %d %h ")}}{{states.sensor.zone_1_timer.state}}
|
||||||
|
# {%else%}
|
||||||
|
# {{(as_timestamp(now() ) ) | timestamp_custom("%A, %d %h ")}}{{states.sensor.zone_1_timer.state}}
|
||||||
|
# {%endif%}
|
||||||
|
# - delay:
|
||||||
|
# seconds: 1
|
||||||
|
# - service: input_boolean.turn_off
|
||||||
|
# data:
|
||||||
|
# entity_id: input_boolean.reset_zone_1
|
||||||
|
#
|
|
@ -0,0 +1,262 @@
|
||||||
|
sensor:
|
||||||
|
- platform: template
|
||||||
|
sensors:
|
||||||
|
zone_1_timer:
|
||||||
|
value_template: '{{ "{:02d}".format(states.input_number.timer_hours_1.state|int) }}:{{ "{:02d}".format(states.input_number.timer_minutes_1.state|int) }}'
|
||||||
|
friendly_name: "Time"
|
||||||
|
last_run_zone_1:
|
||||||
|
friendly_name: "Last Run"
|
||||||
|
value_template: '{{ (as_timestamp(states.switch.zone_1.last_changed)) | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
next_run_zone_1:
|
||||||
|
friendly_name: "Next Run"
|
||||||
|
value_template: '{{states.sensor.zone_1_timer_reset_sensor.state}}'
|
||||||
|
time_delta:
|
||||||
|
friendly_name: "Zone 1 Timedelta"
|
||||||
|
value_template: '{{states.input_number.repeat_1.state|int * 3600}}'
|
||||||
|
duration_1:
|
||||||
|
value_template: '{{states.input_number.duration_1.state | int}}mins'
|
||||||
|
friendly_name: "Duration"
|
||||||
|
repeat_1:
|
||||||
|
value_template: '{{ "{:02d}".format(states.input_number.repeat_1.state|int)}}hrs'
|
||||||
|
friendly_name: "Repeat in"
|
||||||
|
rain_sensor:
|
||||||
|
friendly_name: "Rainfall Threshold Sensitivity"
|
||||||
|
value_template: >-
|
||||||
|
{% if states.sensor.pws_precip_1d.state <= states.input_number.pws_precip_1d_sensitivity.state and states.sensor.pws_precip_today_metric.state <= states.input_number.pws_precip_today_metric_sensitivity.state %}
|
||||||
|
dry
|
||||||
|
{% else %}
|
||||||
|
too wet
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
switch mqtt:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Zone 1"
|
||||||
|
state_topic: "status/irrigation/80"
|
||||||
|
command_topic: "cmnd/irrigation/80"
|
||||||
|
payload_on: "ON"
|
||||||
|
payload_off: "OFF"
|
||||||
|
qos: 0
|
||||||
|
retain: true
|
||||||
|
|
||||||
|
binary_sensor mqtt:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "ZONE 1"
|
||||||
|
device_class: moisture
|
||||||
|
state_topic: "cmnd/irrigation/POWER1"
|
||||||
|
payload_on: "ON"
|
||||||
|
|
||||||
|
sensor mqtt:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Zone 1 Timer Reset Sensor"
|
||||||
|
state_topic: "cmnd/zone_1_control/TIMER"
|
||||||
|
|
||||||
|
input_boolean:
|
||||||
|
reset_zone_1:
|
||||||
|
name: Reset Next Run Timer
|
||||||
|
initial: off
|
||||||
|
icon: mdi:lock-reset
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
timer_minutes_1:
|
||||||
|
name: "Minutes"
|
||||||
|
initial: 0
|
||||||
|
min: 0
|
||||||
|
max: 55
|
||||||
|
step: 1
|
||||||
|
icon: mdi:timer
|
||||||
|
timer_hours_1:
|
||||||
|
name: "Hour"
|
||||||
|
initial: 6
|
||||||
|
min: 0
|
||||||
|
max: 23
|
||||||
|
step: 1
|
||||||
|
icon: mdi:timer
|
||||||
|
duration_1:
|
||||||
|
name: "Set Duration"
|
||||||
|
initial: 3
|
||||||
|
min: 0
|
||||||
|
max: 15
|
||||||
|
step: 1
|
||||||
|
icon: mdi:camera-timer
|
||||||
|
repeat_1:
|
||||||
|
name: "Set Repeat"
|
||||||
|
initial: 24
|
||||||
|
min: 0
|
||||||
|
max: 48
|
||||||
|
icon: mdi:repeat
|
||||||
|
pws_precip_today_metric_sensitivity:
|
||||||
|
name: "Rainfall mm Sensitivity"
|
||||||
|
initial: 0.1
|
||||||
|
min: 0
|
||||||
|
max: 2
|
||||||
|
step: 0.1
|
||||||
|
icon: mdi:contrast
|
||||||
|
pws_precip_1d_sensitivity:
|
||||||
|
name: "Rainfall Probability Sensitivity"
|
||||||
|
initial: 40
|
||||||
|
min: 0
|
||||||
|
max: 100
|
||||||
|
step: 10
|
||||||
|
icon: mdi:contrast
|
||||||
|
|
||||||
|
group:
|
||||||
|
garden:
|
||||||
|
view: yes
|
||||||
|
control: hidden
|
||||||
|
name: "Garden"
|
||||||
|
entities:
|
||||||
|
- group.solenoids
|
||||||
|
- group.irrigation_timer_1
|
||||||
|
- group.rain_sensor
|
||||||
|
- sensor.pws_precip_today_metric
|
||||||
|
- sensor.pws_precip_1d
|
||||||
|
- binary_sensor.zone_1
|
||||||
|
|
||||||
|
solenoids:
|
||||||
|
view: no
|
||||||
|
name: "Back Garden Irrigation"
|
||||||
|
icon: 'mdi:flower'
|
||||||
|
entities:
|
||||||
|
- switch.zone_1
|
||||||
|
|
||||||
|
|
||||||
|
rain_sensor:
|
||||||
|
view: no
|
||||||
|
name: "Rainfall Sensitivity"
|
||||||
|
icon: mdi:contrast
|
||||||
|
entities:
|
||||||
|
- sensor.rain_sensor
|
||||||
|
- input_number.pws_precip_today_metric_sensitivity
|
||||||
|
- input_number.pws_precip_1d_sensitivity
|
||||||
|
|
||||||
|
irrigation_timer_1:
|
||||||
|
view: no
|
||||||
|
name: "Sprinklers Zone 1"
|
||||||
|
icon: mdi:clock
|
||||||
|
entities:
|
||||||
|
- sensor.last_run_zone_1
|
||||||
|
- sensor.next_run_zone_1
|
||||||
|
- sensor.duration_1
|
||||||
|
- sensor.repeat_1
|
||||||
|
- group.setting_zone_1
|
||||||
|
- automation.activate_zone_1_timer
|
||||||
|
|
||||||
|
setting_zone_1:
|
||||||
|
view: no
|
||||||
|
control: hidden
|
||||||
|
name: "Settings"
|
||||||
|
icon: mdi:settings
|
||||||
|
entities:
|
||||||
|
- sensor.zone_1_timer
|
||||||
|
- input_number.timer_hours_1
|
||||||
|
- input_number.timer_minutes_1
|
||||||
|
- input_number.duration_1
|
||||||
|
- input_number.repeat_1
|
||||||
|
- input_boolean.reset_zone_1
|
||||||
|
|
||||||
|
automation zone_1_1:
|
||||||
|
alias: "Activate Zone 1 Timer"
|
||||||
|
trigger:
|
||||||
|
- platform: time_pattern
|
||||||
|
minutes: '/1'
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{(as_timestamp(now()) | timestamp_custom("%A, %d %h %H:%M")) == states.sensor.next_run_zone_1.state}}'
|
||||||
|
- condition: state
|
||||||
|
entity_id: sensor.rain_sensor
|
||||||
|
state: 'dry'
|
||||||
|
action:
|
||||||
|
- service: script.turn_on
|
||||||
|
entity_id: script.activate_irrigation_zone_1
|
||||||
|
|
||||||
|
automation zone_1_2:
|
||||||
|
alias: "Zone 1 Active Notification"
|
||||||
|
hide_entity: False
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: switch.zone_1
|
||||||
|
from: 'off'
|
||||||
|
to: 'on'
|
||||||
|
action:
|
||||||
|
- service: notify.pushbullet
|
||||||
|
data:
|
||||||
|
title: "Irrigation Zone 1"
|
||||||
|
message: "Watering has started"
|
||||||
|
|
||||||
|
automation zone_1_3:
|
||||||
|
alias: "Zone 1 Completed Notification"
|
||||||
|
hide_entity: False
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: switch.zone_1
|
||||||
|
from: 'on'
|
||||||
|
to: 'off'
|
||||||
|
action:
|
||||||
|
- service: notify.pushbullet
|
||||||
|
data:
|
||||||
|
title: "Irrigation Zone 1"
|
||||||
|
message: "Watering has completed"
|
||||||
|
|
||||||
|
automation zone_1_4:
|
||||||
|
alias: "Zone 1 Timer Reset"
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: input_boolean.reset_zone_1
|
||||||
|
from: 'off'
|
||||||
|
to: 'on'
|
||||||
|
action:
|
||||||
|
- service: mqtt.publish
|
||||||
|
data:
|
||||||
|
topic: "cmnd/zone_1_control/TIMER"
|
||||||
|
retain: 1
|
||||||
|
payload_template: >-
|
||||||
|
{%if now().strftime("%H:%M") > states.sensor.zone_1_timer.state %}
|
||||||
|
{{(as_timestamp(now() )+24*3600 ) | timestamp_custom("%A, %d %h ")}}{{states.sensor.zone_1_timer.state}}
|
||||||
|
{%else%}
|
||||||
|
{{(as_timestamp(now() ) ) | timestamp_custom("%A, %d %h ")}}{{states.sensor.zone_1_timer.state}}
|
||||||
|
{%endif%}
|
||||||
|
- delay:
|
||||||
|
seconds: 1
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: input_boolean.reset_zone_1
|
||||||
|
|
||||||
|
automation zone_1_5:
|
||||||
|
alias: "Extend Zone 1 Timer When Wet"
|
||||||
|
trigger:
|
||||||
|
- platform: time_pattern
|
||||||
|
minutes: '/1'
|
||||||
|
condition:
|
||||||
|
condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{(as_timestamp(now()) | timestamp_custom("%A, %d %h %H:%M")) == states.sensor.next_run_zone_1.state}}'
|
||||||
|
- condition: state
|
||||||
|
entity_id: sensor.rain_sensor
|
||||||
|
state: 'too wet'
|
||||||
|
action:
|
||||||
|
- service: mqtt.publish
|
||||||
|
data:
|
||||||
|
topic: "cmnd/zone_1_control/TIMER"
|
||||||
|
retain: 1
|
||||||
|
payload_template: '{{(as_timestamp(now() )+ states.sensor.time_delta.state | int) | timestamp_custom("%A, %d %h %H:%M") }}'
|
||||||
|
|
||||||
|
script:
|
||||||
|
activate_irrigation_zone_1:
|
||||||
|
alias: "Activate Irrigation Zone 1"
|
||||||
|
sequence:
|
||||||
|
- alias: "Switch on Zone 1"
|
||||||
|
service: switch.turn_on
|
||||||
|
entity_id: switch.zone_1
|
||||||
|
- delay: '00:{{ states.input_number.duration_1.state | int }}:00'
|
||||||
|
- alias: "Switch off Zone 1"
|
||||||
|
service: switch.turn_off
|
||||||
|
entity_id: switch.zone_1
|
||||||
|
- alias: "Update Next Run Time"
|
||||||
|
service: mqtt.publish
|
||||||
|
data:
|
||||||
|
topic: "cmnd/zone_1_control/TIMER"
|
||||||
|
retain: 1
|
||||||
|
payload_template: '{{ (as_timestamp(states.switch.zone_1.last_changed)+ states.sensor.time_delta.state | int) | timestamp_custom("%A, %d %h %H:%M") }}'
|
|
@ -1 +0,0 @@
|
||||||
[]
|
|
|
@ -1,50 +0,0 @@
|
||||||
blueprint:
|
|
||||||
name: Motion-activated Light
|
|
||||||
description: Turn on a light when motion is detected.
|
|
||||||
domain: automation
|
|
||||||
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
|
|
||||||
input:
|
|
||||||
motion_entity:
|
|
||||||
name: Motion Sensor
|
|
||||||
selector:
|
|
||||||
entity:
|
|
||||||
domain: binary_sensor
|
|
||||||
device_class: motion
|
|
||||||
light_target:
|
|
||||||
name: Light
|
|
||||||
selector:
|
|
||||||
target:
|
|
||||||
entity:
|
|
||||||
domain: light
|
|
||||||
no_motion_wait:
|
|
||||||
name: Wait time
|
|
||||||
description: Time to leave the light on after last motion is detected.
|
|
||||||
default: 120
|
|
||||||
selector:
|
|
||||||
number:
|
|
||||||
min: 0
|
|
||||||
max: 3600
|
|
||||||
unit_of_measurement: seconds
|
|
||||||
|
|
||||||
# If motion is detected within the delay,
|
|
||||||
# we restart the script.
|
|
||||||
mode: restart
|
|
||||||
max_exceeded: silent
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
platform: state
|
|
||||||
entity_id: !input motion_entity
|
|
||||||
from: "off"
|
|
||||||
to: "on"
|
|
||||||
|
|
||||||
action:
|
|
||||||
- service: light.turn_on
|
|
||||||
target: !input light_target
|
|
||||||
- wait_for_trigger:
|
|
||||||
platform: state
|
|
||||||
entity_id: !input motion_entity
|
|
||||||
from: "on"
|
|
||||||
to: "off"
|
|
||||||
- delay: !input no_motion_wait
|
|
||||||
- service: light.turn_off
|
|
||||||
target: !input light_target
|
|
|
@ -1,43 +0,0 @@
|
||||||
blueprint:
|
|
||||||
name: Zone Notification
|
|
||||||
description: Send a notification to a device when a person leaves a specific zone.
|
|
||||||
domain: automation
|
|
||||||
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
|
|
||||||
input:
|
|
||||||
person_entity:
|
|
||||||
name: Person
|
|
||||||
selector:
|
|
||||||
entity:
|
|
||||||
domain: person
|
|
||||||
zone_entity:
|
|
||||||
name: Zone
|
|
||||||
selector:
|
|
||||||
entity:
|
|
||||||
domain: zone
|
|
||||||
notify_device:
|
|
||||||
name: Device to notify
|
|
||||||
description: Device needs to run the official Home Assistant app to receive notifications.
|
|
||||||
selector:
|
|
||||||
device:
|
|
||||||
integration: mobile_app
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
platform: state
|
|
||||||
entity_id: !input person_entity
|
|
||||||
|
|
||||||
variables:
|
|
||||||
zone_entity: !input zone_entity
|
|
||||||
# This is the state of the person when it's in this zone.
|
|
||||||
zone_state: "{{ states[zone_entity].name }}"
|
|
||||||
person_entity: !input person_entity
|
|
||||||
person_name: "{{ states[person_entity].name }}"
|
|
||||||
|
|
||||||
condition:
|
|
||||||
condition: template
|
|
||||||
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
|
||||||
|
|
||||||
action:
|
|
||||||
domain: mobile_app
|
|
||||||
type: notify
|
|
||||||
device_id: !input notify_device
|
|
||||||
message: "{{ person_name }} has left {{ zone_state }}"
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# global and startup automations here
|
||||||
|
- id: 'themestartup'
|
||||||
|
alias: 'System - Set Custom Theme at Startup'
|
||||||
|
trigger:
|
||||||
|
platform: homeassistant
|
||||||
|
event: start
|
||||||
|
action:
|
||||||
|
service: frontend.set_theme
|
||||||
|
data:
|
||||||
|
name: 'Dark Turqoise'
|
||||||
|
- alias: Restart Notification
|
||||||
|
trigger:
|
||||||
|
platform: homeassistant
|
||||||
|
event: start
|
||||||
|
action:
|
||||||
|
- service: notify.pushsafer
|
||||||
|
data:
|
||||||
|
title: "Home Assistant Has Restarted"
|
||||||
|
message: "Attention [i]italic[/i] Text[br][url=https://ha.238.kebler.net/]Home Assitant 238[/url]"
|
||||||
|
target: ["26583"]
|
||||||
|
data:
|
||||||
|
icon: "20"
|
||||||
|
iconcolor: "#FF00FF"
|
||||||
|
sound: "33"
|
||||||
|
vibration: "0"
|
||||||
|
url: "https://ha.238.kebler.net/"
|
||||||
|
urltitle: "Open Home Assistant"
|
||||||
|
time2live: "10"
|
||||||
|
priority: "2"
|
||||||
|
retry: "60"
|
||||||
|
expire: "600"
|
||||||
|
answer: "1"
|
||||||
|
- service: notify.gmail
|
||||||
|
data:
|
||||||
|
title: "Home Assistant Has Restarted"
|
||||||
|
message: "Attention [i]italic[/i] Text[br][url=https://ha.kebler.net/]Home Assitant[/url]"
|
|
@ -0,0 +1,4 @@
|
||||||
|
#global friendly names and other customizations can go here
|
||||||
|
# ex:
|
||||||
|
#fan.fan_state:
|
||||||
|
# friendly_name: This is a dummy entry to be overwrrten
|
|
@ -0,0 +1 @@
|
||||||
|
# global set groups (rest are set in packages)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue