diff --git a/README.md b/README.md index 216f3fc6..9a977e4c 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,20 @@ Simple & Free Wiki Software [:books: Bookstack add-on documentation][addon-doc-bookstack] +### ✓ [ESPHome (beta)][addon-esphome] + +![Latest Version][esphome-version-shield] +![Supports armhf Architecture][esphome-armhf-shield] +![Supports armv7 Architecture][esphome-armv7-shield] +![Supports aarch64 Architecture][esphome-aarch64-shield] +![Supports amd64 Architecture][esphome-amd64-shield] +![Supports i386 Architecture][esphome-i386-shield] +![Docker Pulls][esphome-pulls-shield] + +Beta version of ESPHome Hass.io add-on. + +[:books: ESPHome (beta) add-on documentation][addon-doc-esphome] + ### ✓ [Example][addon-example] ![Latest Version][example-version-shield] @@ -692,6 +706,7 @@ on the correct GitHub repository matching the add-on. - [Open an issue for the add-on: AppDaemon 4][appdaemon-issue] - [Open an issue for the add-on: Bitwarden RS][bitwarden-issue] - [Open an issue for the add-on: Bookstack][bookstack-issue] +- [Open an issue for the add-on: ESPHome (beta)][esphome-issue] - [Open an issue for the add-on: Example][example-issue] - [Open an issue for the add-on: FTP][ftp-issue] - [Open an issue for the add-on: FlexTV][phlex-issue] @@ -846,6 +861,16 @@ SOFTWARE. [bookstack-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg [bookstack-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg [bookstack-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg +[addon-esphome]: https://github.com/esphome/hassio/tree/1.15.0b2 +[addon-doc-esphome]: https://github.com/esphome/hassio/blob/1.15.0b2/README.md +[esphome-issue]: https://github.com/esphome/hassio/issues +[esphome-version-shield]: https://img.shields.io/badge/version-1.15.0b2-blue.svg +[esphome-pulls-shield]: https://img.shields.io/docker/pulls/esphome/esphome-hassio-amd64.svg +[esphome-aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[esphome-amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[esphome-armhf-shield]: https://img.shields.io/badge/armhf-no-red.svg +[esphome-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg +[esphome-i386-shield]: https://img.shields.io/badge/i386-no-red.svg [addon-example]: https://github.com/hassio-addons/addon-example/tree/v3.4.0 [addon-doc-example]: https://github.com/hassio-addons/addon-example/blob/v3.4.0/README.md [example-issue]: https://github.com/hassio-addons/addon-example/issues diff --git a/esphome/CHANGELOG.md b/esphome/CHANGELOG.md new file mode 100644 index 00000000..f4be3be7 --- /dev/null +++ b/esphome/CHANGELOG.md @@ -0,0 +1 @@ +See https://beta.esphome.io/changelog/v1.15.0.html \ No newline at end of file diff --git a/esphome/README.md b/esphome/README.md new file mode 100644 index 00000000..c4862da9 --- /dev/null +++ b/esphome/README.md @@ -0,0 +1,122 @@ +# ESPHome Home Assistant Add-On + +[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/master/esphome-dev/logo.png)](https://esphome.io/) + +[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome) +[![GitHub Release][releases-shield]][releases] +[![Discord][discord-shield]][discord] + +## About + +This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers +directly through Home Assistant **with no programming experience required**. All you need to do +is write YAML configuration files; the rest (over-the-air updates, compiling) is all +handled by ESPHome. + +

+ +

+ +[View the ESPHome documentation](https://esphome.io/) + +## Example + +With ESPHome, you can go from a few lines of YAML straight to a custom-made +firmware. For example, to include a [DHT22][dht22]. +temperature and humidity sensor, you just need to include 8 lines of YAML +in your configuration file: + + + +Then just click UPLOAD and the sensor will magically appear in Home Assistant: + + + +## Installation + +To install this Home Assistant add-on you need to add the ESPHome add-on repository +first: + +1. Add the ESPHome add-ons repository to your Home Assistant instance. You can do this by navigating to the "Add-on store" tab in the Supervisor panel and then entering https://github.com/esphome/hassio in the "Add repository" field after selecting "Repositories" from the top-right menu. +2. Now scroll down and select the "ESPHome" add-on. +3. Press install to download the add-on and unpack it on your machine. This can take some time. +4. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly. +5. Start the add-on, check the logs of the add-on to see if everything went well. +6. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in. + +You can view the ESPHome documentation at https://esphome.io/ + +## Configuration + +**Note**: _Remember to restart the add-on when the configuration is changed._ + +Example add-on configuration: + +```json +{ + "ssl": false, + "certfile": "fullchain.pem", + "keyfile": "privkey.pem" +} +``` + +### Option: `ssl` + +Enables or disables encrypted SSL/TLS (HTTPS) connections to the web server of this add-on. +Set it to `true` to encrypt communications, `false` otherwise. +Please note that if you set this to `true` you must also generate the key and certificate +files for encryption. For example using [Let's Encrypt](https://www.home-assistant.io/addons/lets_encrypt/) +or [Self-signed certificates](https://www.home-assistant.io/docs/ecosystem/certificates/tls_self_signed_certificate/). + +### Option: `certfile` + +The certificate file to use for SSL. If this file doesn't exist, the add-on start will fail. + +**Note**: The file MUST be stored in `/ssl/`, which is the default for Home Assistant + +### Option: `keyfile` + +The private key file to use for SSL. If this file doesn't exist, the add-on start will fail. + +**Note**: The file MUST be stored in `/ssl/`, which is the default for Home Assistant + +### Option: `leave_front_door_open` + +Adding this option to the add-on configuration allows you to disable +authentication by setting it to `true`. + +### Option: `esphome_version` + +Manually override which ESPHome version to use in the add-on. +For example to install the latest development version, use `"esphome_version": "dev"`, +or for version 1.14.0: `"esphome_version": "v1.14.0""`. + +Please note that this does not always work and is only meant for testing, usually the +ESPHome add-on and dashboard version must match to guarantee a working system. + +### Option: `relative_url` + +Host the ESPHome dashboard under a relative URL, so that it can be integrated +into existing web proxies like NGINX under a relative URL. Defaults to `/`. + +### Option: `status_use_ping` + +By default the dashboard uses mDNS to check if nodes are online. This does +not work across subnets unless your router supports mDNS forwarding or avahi. + +Setting this to `true` will make ESPHome use ICMP ping requests to get the node status. Use this if all nodes always have offline status even when they're connected. + +### Option: `streamer_mode` + +If set to `true`, this will enable streamer mode, which makes ESPHome hide all +potentially private information. So for example WiFi (B)SSIDs (which could be +used to find your location), usernames, etc. Please note that you need to use +the `!secret` tag in your YAML file to also prevent these from showing up +while editing and validating. + +[discord-shield]: https://img.shields.io/discord/429907082951524364.svg +[dht22]: https://esphome.io/components/sensor/dht.html +[discord]: https://discord.gg/KhAMKrd +[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg +[releases]: https://esphome.io/changelog/index.html +[repository]: https://github.com/esphome/esphome diff --git a/esphome/config.json b/esphome/config.json new file mode 100644 index 00000000..0c25913d --- /dev/null +++ b/esphome/config.json @@ -0,0 +1,47 @@ +{ + "arch": [ + "amd64", + "armv7", + "aarch64" + ], + "auth_api": true, + "auto_uart": true, + "boot": "auto", + "description": "Beta version of ESPHome Hass.io add-on.", + "hassio_api": true, + "hassio_role": "default", + "homeassistant_api": false, + "host_network": true, + "image": "esphome/esphome-hassio-{arch}", + "ingress": true, + "ingress_port": 0, + "map": [ + "ssl:ro", + "config:rw" + ], + "name": "ESPHome (beta)", + "options": {}, + "panel_icon": "mdi:chip", + "ports": { + "6052/tcp": null + }, + "ports_description": { + "6052/tcp": "Web interface (Not required for Home Assistant Ingress)" + }, + "schema": { + "certfile": "str?", + "esphome_version": "str?", + "keyfile": "str?", + "leave_front_door_open": "bool?", + "relative_url": "str?", + "ssl": "bool?", + "status_use_ping": "bool?", + "streamer_mode": "bool?" + }, + "slug": "esphome-beta", + "stage": "experimental", + "startup": "application", + "url": "https://beta.esphome.io/", + "version": "1.15.0b2", + "webui": "http://[HOST]:[PORT:6052]" +} \ No newline at end of file diff --git a/esphome/icon.png b/esphome/icon.png new file mode 100644 index 00000000..8845ae85 Binary files /dev/null and b/esphome/icon.png differ diff --git a/esphome/logo.png b/esphome/logo.png new file mode 100644 index 00000000..91f65b1a Binary files /dev/null and b/esphome/logo.png differ