commit 0e30e70a5006e926a969d75b4b99983a39cad576 Author: David Kebler Date: Thu Dec 17 17:43:05 2020 -0800 initial commit - minimal config with file editor and ssh terminal add-ons diff --git a/.HA_VERSION b/.HA_VERSION new file mode 100644 index 0000000..9a6dac6 --- /dev/null +++ b/.HA_VERSION @@ -0,0 +1 @@ +2020.12.1 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..91f080e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.db +*.log diff --git a/.storage/auth b/.storage/auth new file mode 100644 index 0000000..6f8c8b8 --- /dev/null +++ b/.storage/auth @@ -0,0 +1,167 @@ +{ + "version": 1, + "key": "auth", + "data": { + "users": [ + { + "id": "5fa0d78e30e34c11a6b616d5bf248eb1", + "group_ids": [ + "system-admin" + ], + "is_owner": false, + "is_active": true, + "name": "Hass.io", + "system_generated": true + }, + { + "id": "66b148346e9c4c5483b8fcf107ebffe0", + "group_ids": [ + "system-admin" + ], + "is_owner": true, + "is_active": true, + "name": "system administrator", + "system_generated": false + } + ], + "groups": [ + { + "id": "system-admin", + "name": "Administrators" + }, + { + "id": "system-users", + "name": "Users" + }, + { + "id": "system-read-only", + "name": "Read Only" + } + ], + "credentials": [ + { + "id": "8a60c38ebbd14833b28a6ee33be477dc", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "auth_provider_type": "homeassistant", + "auth_provider_id": null, + "data": { + "username": "sysadmin" + } + } + ], + "refresh_tokens": [ + { + "id": "c0aaac2e0133457fabe43eb1863daf50", + "user_id": "5fa0d78e30e34c11a6b616d5bf248eb1", + "client_id": null, + "client_name": null, + "client_icon": null, + "token_type": "system", + "created_at": "2020-12-15T17:08:16.961522+00:00", + "access_token_expiration": 1800.0, + "token": "8db2f631c828ca79b9e269d65a0eaceae3502573fe53e09f75d15f9b86dbe2e95dbe3486b40ca54877d556be117bdc75c17230ad8f3f96c2a461d19504dcf846", + "jwt_key": "b7596a675e0c7c16c6a9014b47d5f83f8e5228c674df63a30fa2e106b9e2fd0bd1bb26e8cadf780eea239c2a22a77d57fbe8ad0a5914bd6edbf3e9fad6205aa8", + "last_used_at": "2020-12-18T01:25:23.877902+00:00", + "last_used_ip": "172.30.32.2" + }, + { + "id": "5bc76d4655d843b8833c718de6d22f8c", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "http://172.31.0.101:8123/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-15T18:17:27.323904+00:00", + "access_token_expiration": 1800.0, + "token": "f5a1a09a523a158564d048b80db8b7b5e5a38b346fe6455c61a17cd9b64a864695e5d5a62a038d4e6f14c8d232370b1ce10432505719bcf017655f2b72d753cf", + "jwt_key": "41735f91c05e10eeed87938138091ffbd1dea0762f4fe410f19edb8e4e6a35ec355cc32ab40f282f8539c24523ebb05f45c93eac6db6fa1b9dcfa9a5f79e6681", + "last_used_at": "2020-12-15T18:17:27.324089+00:00", + "last_used_ip": "10.12.0.2" + }, + { + "id": "c9e55ab6119c44aa8f3357a1d1728a17", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "http://homeassistant.238.kebler.net:8123/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-16T18:01:02.999234+00:00", + "access_token_expiration": 1800.0, + "token": "5d8ab4bad3bc6db0245a15ba9a6a54bced3ddc888618de91856cbf4ff94c0e5eb198b8bd289f29491a88f062f1c85d7baf42e7b430435ad6c7d0272a13f83ea8", + "jwt_key": "8525331be4ff29d17e381e7c52ad0bef14ef60a1fbdb5ee425f96fd4a035dc35aed737cc04ffab41c6b9c9a575501a88522c047beb12d784ab359b36db408688", + "last_used_at": "2020-12-16T18:01:02.999407+00:00", + "last_used_ip": "10.0.0.40" + }, + { + "id": "e93453f133fa4113bb304fda4dd3668a", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "http://10.0.0.100:8123/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-18T00:28:48.739494+00:00", + "access_token_expiration": 1800.0, + "token": "e2885a7e44b11d04c36b6d8df23c43f8bb20bf9320cef905225b183483a1d32b7889d56fad16a66d9fb647aef2fe0614e0a44398bd952578c13708b296186d45", + "jwt_key": "b546d44a8139e6abc7a71f6589dc7757ae0839a3ff6d6ae5c51b7e7e02d3549449fed34c44d711bf86e45ad1a1e59964c5088b6816267549b99185bd993ddc31", + "last_used_at": "2020-12-18T00:28:48.740242+00:00", + "last_used_ip": "10.0.0.40" + }, + { + "id": "3beee347273c44589b53272df1443a17", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "http://10.0.0.100:8123/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-18T00:42:06.384951+00:00", + "access_token_expiration": 1800.0, + "token": "a94f7b9ee8d1997ebfcc1ca71934c7685b31da675b281e67afb432170a5975342a6c49265e85d8b7ff6e0c567fb70a58a0ae867c686d36b842423031e71fbe41", + "jwt_key": "655070d5562ad05079dc90bb6f1cee2469a61ae97369b6396fd5eed3c408ccf02e3738ca1584b377f47da850c74a17866d4169401a7dd5982d752d9548f1bc94", + "last_used_at": "2020-12-18T00:42:06.385194+00:00", + "last_used_ip": "10.0.0.40" + }, + { + "id": "51db8278364d4e419b7ea2c535059a5a", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "http://10.0.0.100:8123/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-18T00:48:22.547152+00:00", + "access_token_expiration": 1800.0, + "token": "185a286c80f9b1cafe1358bf71f69bd4cc7ed3b1b92573251041f16522aa3dd4da14e24e26fd998c65c527ef575c7430adea401655fd4ea9674701cd8b1705e3", + "jwt_key": "1a07d225c95d193da46b7c86bec4fca38dd9fa6855f609e7f8d7bb7974c39695019381e9628443241f00205fe2a87740964e39787a2eac30f54658489d3a0aaa", + "last_used_at": "2020-12-18T00:48:22.547276+00:00", + "last_used_ip": "10.0.0.40" + }, + { + "id": "e916dbb796b5441fb59130345769af53", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-18T00:57:51.833976+00:00", + "access_token_expiration": 1800.0, + "token": "aaebe6b17ebc9ac2383519f4b701e98e79f35a5c949d3bbf83f3021cf314be66a4daca65a9328b145c3541dc2bb1992853fd8f53d884d36ce8542d4b2ee05abc", + "jwt_key": "604496dbbe5a47ec36b08c19cfe3351dd18852e317b60bf558a0771093100e994bb3597f3ed46d5b1c1e338b51ba89cc8b08e3ca5cb528e2f3ab252b9a6a95d0", + "last_used_at": "2020-12-18T00:57:51.834105+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "33949d47c9974c73b6bb76bc8e7f228e", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-18T01:25:34.731018+00:00", + "access_token_expiration": 1800.0, + "token": "8167ccc138b36794148503368c846be7d0ee07c19f3eaf7eb9f5d38f763af6504d07d77e75653122d1a8d829efd09503488bde8795cf40685a44e1415acc0788", + "jwt_key": "29411bedba3f8d17ea05a798f37a14aa945722731c5b4df0c5092c95295ca60c60eaeb4edd77c2cebccce2133f08d4926d73df40bb9c3d321bf029b396987308", + "last_used_at": "2020-12-18T01:25:34.731148+00:00", + "last_used_ip": "10.0.0.2" + } + ] + } +} \ No newline at end of file diff --git a/.storage/auth_provider.homeassistant b/.storage/auth_provider.homeassistant new file mode 100644 index 0000000..1b3af03 --- /dev/null +++ b/.storage/auth_provider.homeassistant @@ -0,0 +1,12 @@ +{ + "version": 1, + "key": "auth_provider.homeassistant", + "data": { + "users": [ + { + "username": "sysadmin", + "password": "JDJiJDEyJDJIU0ljcWRvUGppSWl5N1JrMjV3cXViaE9RcjRYL3NlMUFtczRSdFRxaTZPZ2F4aFV5RGFt" + } + ] + } +} \ No newline at end of file diff --git a/.storage/core.area_registry b/.storage/core.area_registry new file mode 100644 index 0000000..7939ee5 --- /dev/null +++ b/.storage/core.area_registry @@ -0,0 +1,20 @@ +{ + "version": 1, + "key": "core.area_registry", + "data": { + "areas": [ + { + "name": "Living Room", + "id": "living_room" + }, + { + "name": "Kitchen", + "id": "kitchen" + }, + { + "name": "Bedroom", + "id": "bedroom" + } + ] + } +} \ No newline at end of file diff --git a/.storage/core.config b/.storage/core.config new file mode 100644 index 0000000..22af537 --- /dev/null +++ b/.storage/core.config @@ -0,0 +1,14 @@ +{ + "version": 1, + "key": "core.config", + "data": { + "latitude": 41.64007838467894, + "longitude": -100.89843750000001, + "elevation": 0, + "unit_system": "imperial", + "location_name": "Home", + "time_zone": "UTC", + "external_url": null, + "internal_url": null + } +} \ No newline at end of file diff --git a/.storage/core.config_entries b/.storage/core.config_entries new file mode 100644 index 0000000..d4fd5ce --- /dev/null +++ b/.storage/core.config_entries @@ -0,0 +1,24 @@ +{ + "version": 1, + "key": "core.config_entries", + "data": { + "entries": [ + { + "entry_id": "6dc0336bb0e637a0356a74ad6fda5078", + "version": 1, + "domain": "met", + "title": "Home", + "data": { + "track_home": true + }, + "options": {}, + "system_options": { + "disable_new_entities": false + }, + "source": "onboarding", + "connection_class": "cloud_poll", + "unique_id": null + } + ] + } +} \ No newline at end of file diff --git a/.storage/core.device_registry b/.storage/core.device_registry new file mode 100644 index 0000000..752ac9a --- /dev/null +++ b/.storage/core.device_registry @@ -0,0 +1,30 @@ +{ + "version": 1, + "key": "core.device_registry", + "data": { + "devices": [ + { + "config_entries": [ + "6dc0336bb0e637a0356a74ad6fda5078" + ], + "connections": [], + "identifiers": [ + [ + "met" + ] + ], + "manufacturer": "Met.no", + "model": "Forecast", + "name": "Forecast", + "sw_version": null, + "entry_type": "service", + "id": "169be323da7e5b63edb2984c77b9a915", + "via_device_id": null, + "area_id": null, + "name_by_user": null, + "disabled_by": null + } + ], + "deleted_devices": [] + } +} \ No newline at end of file diff --git a/.storage/core.entity_registry b/.storage/core.entity_registry new file mode 100644 index 0000000..ce8c214 --- /dev/null +++ b/.storage/core.entity_registry @@ -0,0 +1,76 @@ +{ + "version": 1, + "key": "core.entity_registry", + "data": { + "entities": [ + { + "entity_id": "binary_sensor.updater", + "config_entry_id": null, + "device_id": null, + "area_id": null, + "unique_id": "updater", + "platform": "updater", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Updater", + "original_icon": null + }, + { + "entity_id": "person.system_administrator", + "config_entry_id": null, + "device_id": null, + "area_id": null, + "unique_id": "system_administrator", + "platform": "person", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "system administrator", + "original_icon": null + }, + { + "entity_id": "weather.home", + "config_entry_id": "6dc0336bb0e637a0356a74ad6fda5078", + "device_id": "169be323da7e5b63edb2984c77b9a915", + "area_id": null, + "unique_id": "home", + "platform": "met", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Home", + "original_icon": null + }, + { + "entity_id": "weather.home_hourly", + "config_entry_id": "6dc0336bb0e637a0356a74ad6fda5078", + "device_id": "169be323da7e5b63edb2984c77b9a915", + "area_id": null, + "unique_id": "home-hourly", + "platform": "met", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Home Hourly", + "original_icon": null + } + ] + } +} \ No newline at end of file diff --git a/.storage/core.restore_state b/.storage/core.restore_state new file mode 100644 index 0000000..0bde78a --- /dev/null +++ b/.storage/core.restore_state @@ -0,0 +1,26 @@ +{ + "version": 1, + "key": "core.restore_state", + "data": [ + { + "state": { + "entity_id": "person.system_administrator", + "state": "unknown", + "attributes": { + "editable": true, + "id": "system_administrator", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "friendly_name": "system administrator" + }, + "last_changed": "2020-12-18T01:25:20.381784+00:00", + "last_updated": "2020-12-18T01:25:21.772122+00:00", + "context": { + "id": "0d78be23854fa5e53acbf1bcf651ab33", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2020-12-18T01:40:21.772923+00:00" + } + ] +} \ No newline at end of file diff --git a/.storage/core.uuid b/.storage/core.uuid new file mode 100644 index 0000000..a04971c --- /dev/null +++ b/.storage/core.uuid @@ -0,0 +1,7 @@ +{ + "version": 1, + "key": "core.uuid", + "data": { + "uuid": "cc2d403e9f8f4987bd0b6ed70125392d" + } +} \ No newline at end of file diff --git a/.storage/frontend.user_data_66b148346e9c4c5483b8fcf107ebffe0 b/.storage/frontend.user_data_66b148346e9c4c5483b8fcf107ebffe0 new file mode 100644 index 0000000..d79fa40 --- /dev/null +++ b/.storage/frontend.user_data_66b148346e9c4c5483b8fcf107ebffe0 @@ -0,0 +1,9 @@ +{ + "version": 1, + "key": "frontend.user_data_66b148346e9c4c5483b8fcf107ebffe0", + "data": { + "core": { + "showAdvanced": true + } + } +} \ No newline at end of file diff --git a/.storage/hassio b/.storage/hassio new file mode 100644 index 0000000..be40fec --- /dev/null +++ b/.storage/hassio @@ -0,0 +1,7 @@ +{ + "version": 1, + "key": "hassio", + "data": { + "hassio_user": "5fa0d78e30e34c11a6b616d5bf248eb1" + } +} \ No newline at end of file diff --git a/.storage/http b/.storage/http new file mode 100644 index 0000000..126b15e --- /dev/null +++ b/.storage/http @@ -0,0 +1,13 @@ +{ + "version": 1, + "key": "http", + "data": { + "server_port": 8123, + "ssl_profile": "modern", + "cors_allowed_origins": [ + "https://cast.home-assistant.io" + ], + "ip_ban_enabled": true, + "login_attempts_threshold": -1 + } +} \ No newline at end of file diff --git a/.storage/onboarding b/.storage/onboarding new file mode 100644 index 0000000..ad5104d --- /dev/null +++ b/.storage/onboarding @@ -0,0 +1,11 @@ +{ + "version": 3, + "key": "onboarding", + "data": { + "done": [ + "user", + "core_config", + "integration" + ] + } +} \ No newline at end of file diff --git a/.storage/person b/.storage/person new file mode 100644 index 0000000..a9c1bc8 --- /dev/null +++ b/.storage/person @@ -0,0 +1,14 @@ +{ + "version": 2, + "key": "person", + "data": { + "items": [ + { + "name": "system administrator", + "user_id": "66b148346e9c4c5483b8fcf107ebffe0", + "device_trackers": [], + "id": "system_administrator" + } + ] + } +} \ No newline at end of file diff --git a/automations.yaml b/automations.yaml new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/automations.yaml @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/blueprints/automation/homeassistant/motion_light.yaml b/blueprints/automation/homeassistant/motion_light.yaml new file mode 100644 index 0000000..c11d22d --- /dev/null +++ b/blueprints/automation/homeassistant/motion_light.yaml @@ -0,0 +1,50 @@ +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 diff --git a/blueprints/automation/homeassistant/notify_leaving_zone.yaml b/blueprints/automation/homeassistant/notify_leaving_zone.yaml new file mode 100644 index 0000000..d3a70d7 --- /dev/null +++ b/blueprints/automation/homeassistant/notify_leaving_zone.yaml @@ -0,0 +1,43 @@ +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 }}" diff --git a/configuration.yaml b/configuration.yaml new file mode 100644 index 0000000..1828512 --- /dev/null +++ b/configuration.yaml @@ -0,0 +1,12 @@ + +# Configure a default setup of Home Assistant (frontend, api, etc) +default_config: + +# Text to speech +tts: + - platform: google_translate + +group: !include groups.yaml +automation: !include automations.yaml +script: !include scripts.yaml +scene: !include scenes.yaml diff --git a/groups.yaml b/groups.yaml new file mode 100644 index 0000000..e69de29 diff --git a/scenes.yaml b/scenes.yaml new file mode 100644 index 0000000..e69de29 diff --git a/scripts.yaml b/scripts.yaml new file mode 100644 index 0000000..e69de29 diff --git a/secrets.yaml b/secrets.yaml new file mode 100644 index 0000000..c5b900c --- /dev/null +++ b/secrets.yaml @@ -0,0 +1,4 @@ + +# Use this file to store secrets like usernames and passwords. +# Learn more at https://www.home-assistant.io/docs/configuration/secrets/ +some_password: welcome