Compare commits

..

No commits in common. "default" and "master" have entirely different histories.

531 changed files with 64280 additions and 279 deletions

View File

@ -1 +1 @@
2020.12.1 0.118.5

7
.gitignore vendored
View File

@ -1,2 +1,7 @@
*.db /.cloud/
*.js.gz
*.log *.log
*.db
.gitsecret/keys/random_seed
!*.secret
secrets.yaml

BIN
.gitsecret/keys/pubring.kbx Normal file

Binary file not shown.

Binary file not shown.

BIN
.gitsecret/keys/random_seed Normal file

Binary file not shown.

BIN
.gitsecret/keys/trustdb.gpg Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
secrets.yaml:fc78becc67bfb934dca66f15d286a3406e85527b2b5f6e6a8c9814ac7f9da21a

File diff suppressed because it is too large Load Diff

View File

@ -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
} }

View File

@ -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"
} }
] ]
} }

View File

@ -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"
} }
} }

View File

@ -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
} }

View File

@ -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

View File

@ -2,6 +2,6 @@
"version": 1, "version": 1,
"key": "core.uuid", "key": "core.uuid",
"data": { "data": {
"uuid": "cc2d403e9f8f4987bd0b6ed70125392d" "uuid": "730705095bdc49d696bac6c69892ff3c"
} }
} }

View File

@ -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
}

View File

@ -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": []
}
}

View File

@ -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": []
}
}

View File

@ -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
}

View File

@ -1,9 +0,0 @@
{
"version": 1,
"key": "frontend.user_data_66b148346e9c4c5483b8fcf107ebffe0",
"data": {
"core": {
"showAdvanced": true
}
}
}

View File

@ -0,0 +1,9 @@
{
"data": {
"core": {
"showAdvanced": true
}
},
"key": "frontend.user_data_99685dc45d9f40dc8183e11ce5128038",
"version": 1
}

8
.storage/frontend_theme Normal file
View File

@ -0,0 +1,8 @@
{
"version": 1,
"key": "frontend_theme",
"data": {
"frontend_default_theme": "Dark Turqoise",
"frontend_default_dark_theme": null
}
}

12
.storage/hacs.critical Normal file
View File

@ -0,0 +1,12 @@
{
"version": "6",
"key": "hacs.critical",
"data": [
{
"repository": "test/test",
"reason": "Security issues, known to steal auth tokens.",
"link": "https://github.com/hacs/default/pull/2",
"acknowledged": true
}
]
}

9
.storage/hacs.hacs Normal file
View File

@ -0,0 +1,9 @@
{
"version": "6",
"key": "hacs.hacs",
"data": {
"view": "Grid",
"compact": false,
"onboarding_done": false
}
}

461
.storage/hacs.removed Normal file
View File

@ -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"
}

21932
.storage/hacs.repositories Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -1,7 +1,7 @@
{ {
"version": 1,
"key": "hassio",
"data": { "data": {
"hassio_user": "5fa0d78e30e34c11a6b616d5bf248eb1" "hassio_user": "5dc5beb72dbc49d59080804cea6f026c"
} },
"key": "hassio",
"version": 1
} }

View File

@ -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
} }
} }

View File

@ -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"
]
}
]
}
]
}
}
}

View File

@ -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
}

View File

@ -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"
}
]
}
]
}
}
}

View File

@ -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"
}
}
}

View File

@ -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"
}
]
}
}

View File

@ -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"
}
]
}
}

530
.storage/mobile_app Normal file
View File

@ -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"
}
}
}
}

View File

@ -1,11 +1,11 @@
{ {
"version": 3,
"key": "onboarding",
"data": { "data": {
"done": [ "done": [
"user", "user",
"core_config", "core_config",
"integration" "integration"
] ]
} },
"key": "onboarding",
"version": 3
} }

View File

@ -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
} }

7
.storage/zone Normal file
View File

@ -0,0 +1,7 @@
{
"data": {
"items": []
},
"key": "zone",
"version": 1
}

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"files.associations": {
"*.yaml": "home-assistant"
}
}

31
archive/aa_system.yaml Normal file
View File

@ -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:

10
archive/configs/auth.yaml Normal file
View File

@ -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

11
archive/configs/http.yaml Normal file
View File

@ -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

19
archive/configs/mqtt.yaml Normal file
View File

@ -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

View File

@ -0,0 +1,4 @@
nodered:
title: Node-RED
icon: mdi:nodejs
url: https://ha.kebler.net/hassio/ingress/a0d7b954_nodered

View File

@ -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 %}

View File

@ -0,0 +1,8 @@
# lovelace_gen
{% if entity.startswith("light") %}
type: light
{% else %}
type: entity-button
{% endif %}
entity: {{ entity }}
name: {{ name }}

View File

@ -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

33
archive/lovelace/fio.yaml Normal file
View File

@ -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

View File

@ -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

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
# Exampe Scheduler
title: Node Red Scheduler
cards:
- type: iframe
url: 'https://giskard.kebler.net:1880/endpoint/ui'
aspect_ratio: 100%

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
camera:
- platform: generic
name: Roo Cam 1
stream_source: "http://doggie_cam_1.kebler.net"

View File

@ -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

View File

@ -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) }}

View File

@ -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

View File

@ -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') }}"

View File

@ -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'

203
archive/packages/test.yaml Normal file
View File

@ -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) }}

117
archive/packages/timer.yaml Normal file
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

204
archive/packages/zone1.yaml Normal file
View File

@ -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
#

View File

@ -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") }}'

View File

@ -1 +0,0 @@
[]

View File

@ -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

View File

@ -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 }}"

36
configs/automations.yaml Normal file
View File

@ -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]"

4
configs/customize.yaml Normal file
View File

@ -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

1
configs/groups.yaml Normal file
View File

@ -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