Merge branch 'current' into next

This commit is contained in:
Otto Winter 2019-02-16 20:27:48 +01:00
commit 8f26843d27
No known key found for this signature in database
GPG Key ID: DB66C0BE6013F97E
103 changed files with 610 additions and 463 deletions

8
.gitattributes vendored Normal file
View File

@ -0,0 +1,8 @@
* text eol=lf
*.ico binary
*.jpg binary
*.png binary
*.zip binary
*.mp3 binary
*.gif binary

4
.travis.yml Normal file
View File

@ -0,0 +1,4 @@
language: python
python: "3.6"
script:
- python3 travis.py

View File

@ -13,14 +13,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
software-properties-common \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/*
RUN apt-add-repository ppa:inkscape.dev/stable && \
apt-get update && apt-get install -y --no-install-recommends \
inkscape \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/*
RUN pip3 install --no-cache-dir --no-binary :all: \
sphinx \
breathe
sphinx
EXPOSE 8000
WORKDIR /data/esphomedocs

View File

@ -38,6 +38,7 @@ copy-svg2png:
cp svg2png/*.png _build/html/_images/
netlify: netlify-dependencies netlify-api html copy-svg2png
python3 travis.py
webserver: html
cd "$(BUILDDIR)/html" && python3 -m http.server

View File

@ -1,5 +1,9 @@
# esphomedocs
# ESPHome-Docs [![Netlify Status](https://api.netlify.com/api/v1/badges/97a2e9ce-cee7-4cc8-8dc7-537c92a23fa7/deploy-status)](https://app.netlify.com/sites/esphome/deploys) [![Discord Chat](https://img.shields.io/discord/429907082951524364.svg)](https://discord.gg/KhAMKrd) [![GitHub release](https://img.shields.io/github/release/esphome/esphome.svg)](https://GitHub.com/esphome/esphome/releases/)
The source for https://esphomelib.com/
[![ESPHome-Docs Logo](https://esphome.io/_images/logo-docs.png)](https://esphome.io/)
For contributing, please see https://esphomelib.com/guides/contributing.html#contributing-to-esphomedocs
**Documentation:** https://esphome.io/
For issues, please go to [the issue tracker](https://github.com/esphome/issues/issues).
For feature requests, please see [feature requests](https://github.com/esphome/feature-requests/issues).

View File

@ -1,7 +1,7 @@
.row-odd {
background-color: #f3f6f6;
}
table:not(.no-center) tr.row-even > td {
.table-center tr.row-even > td {
text-align: center;
}

View File

@ -15,6 +15,7 @@
<meta name="theme-color" content="#dfdfdf">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta property="og:site_name" content="ESPHome">
{% endblock %}
{% block footer %}

View File

@ -125,8 +125,8 @@ Other notable changes
on_...:
then:
- switch.turn_on:
id: my_switch
- switch.turn_on:
id: my_switch
You can now write:
@ -134,7 +134,7 @@ Other notable changes
on_...:
then:
- switch.turn_on: my_switch
- switch.turn_on: my_switch
Or even shorter:

View File

@ -113,112 +113,109 @@ Please see :ref:`display-printf` for a quick introduction into the ``printf`` fo
All 7-Segment Characters
------------------------
.. table::
:class: no-center
============================== ==============================
**MAX7219 Representation** **Character**
------------------------------ ------------------------------
|max721900| *(space)*
------------------------------ ------------------------------
|max721980| ``.``
------------------------------ ------------------------------
|max7219B0| ``!``
------------------------------ ------------------------------
|max72197E| ``0``, ``O``
------------------------------ ------------------------------
|max721930| ``1``, ``I``
------------------------------ ------------------------------
|max72196D| ``2``, ``Z``
------------------------------ ------------------------------
|max721979| ``3``
------------------------------ ------------------------------
|max721933| ``4``
------------------------------ ------------------------------
|max72195B| ``5``, ``S``, ``s``
------------------------------ ------------------------------
|max72195F| ``6``
------------------------------ ------------------------------
|max721970| ``7``
------------------------------ ------------------------------
|max72197F| ``8``
------------------------------ ------------------------------
|max721973| ``9``
------------------------------ ------------------------------
|max721937| ``H``
------------------------------ ------------------------------
|max72194E| ``(``, ``[``, ``C``
------------------------------ ------------------------------
|max721931| ``{``
------------------------------ ------------------------------
|max721978| ``)``, ``]``
------------------------------ ------------------------------
|max721907| ``}``, ``T``, ``t``
------------------------------ ------------------------------
|max721920| ``\```
------------------------------ ------------------------------
|max721902| ``'``
------------------------------ ------------------------------
|max721922| ``"``
------------------------------ ------------------------------
|max72196F| ``@``
------------------------------ ------------------------------
|max721965| ``?``
------------------------------ ------------------------------
|max721910| ``,``, ``i``
------------------------------ ------------------------------
|max721949| ``%``
------------------------------ ------------------------------
|max721940| ``*``
------------------------------ ------------------------------
|max721948| ``:``
------------------------------ ------------------------------
|max721958| ``;``
------------------------------ ------------------------------
|max721977| ``A``, ``a``
------------------------------ ------------------------------
|max72191F| ``B``, ``b``
------------------------------ ------------------------------
|max72193D| ``D``, ``d``
------------------------------ ------------------------------
|max72194F| ``E``, ``e``
------------------------------ ------------------------------
|max721947| ``F``, ``f``
------------------------------ ------------------------------
|max72195E| ``G``, ``g``
------------------------------ ------------------------------
|max72193C| ``J``, ``j``
------------------------------ ------------------------------
|max72190E| ``L``, ``l``
------------------------------ ------------------------------
|max721915| ``N``, ``n``
------------------------------ ------------------------------
|max721967| ``P``, ``p``
------------------------------ ------------------------------
|max7219FE| ``Q``
------------------------------ ------------------------------
|max721905| ``R``, ``r``
------------------------------ ------------------------------
|max72193E| ``U``, ``V``
------------------------------ ------------------------------
|max72193F| ``W``
------------------------------ ------------------------------
|max721927| ``Y``, ``y``
------------------------------ ------------------------------
|max721901| ``-``
------------------------------ ------------------------------
|max721908| ``_``
------------------------------ ------------------------------
|max721906| ``|``
------------------------------ ------------------------------
|max72190D| ``c``
------------------------------ ------------------------------
|max721917| ``h``
------------------------------ ------------------------------
|max72191D| ``o``
------------------------------ ------------------------------
|max72191C| ``u``, ``v``
============================== ==============================
============================== ==============================
**MAX7219 Representation** **Character**
------------------------------ ------------------------------
|max721900| *(space)*
------------------------------ ------------------------------
|max721980| ``.``
------------------------------ ------------------------------
|max7219B0| ``!``
------------------------------ ------------------------------
|max72197E| ``0``, ``O``
------------------------------ ------------------------------
|max721930| ``1``, ``I``
------------------------------ ------------------------------
|max72196D| ``2``, ``Z``
------------------------------ ------------------------------
|max721979| ``3``
------------------------------ ------------------------------
|max721933| ``4``
------------------------------ ------------------------------
|max72195B| ``5``, ``S``, ``s``
------------------------------ ------------------------------
|max72195F| ``6``
------------------------------ ------------------------------
|max721970| ``7``
------------------------------ ------------------------------
|max72197F| ``8``
------------------------------ ------------------------------
|max721973| ``9``
------------------------------ ------------------------------
|max721937| ``H``
------------------------------ ------------------------------
|max72194E| ``(``, ``[``, ``C``
------------------------------ ------------------------------
|max721931| ``{``
------------------------------ ------------------------------
|max721978| ``)``, ``]``
------------------------------ ------------------------------
|max721907| ``}``, ``T``, ``t``
------------------------------ ------------------------------
|max721920| ``\```
------------------------------ ------------------------------
|max721902| ``'``
------------------------------ ------------------------------
|max721922| ``"``
------------------------------ ------------------------------
|max72196F| ``@``
------------------------------ ------------------------------
|max721965| ``?``
------------------------------ ------------------------------
|max721910| ``,``, ``i``
------------------------------ ------------------------------
|max721949| ``%``
------------------------------ ------------------------------
|max721940| ``*``
------------------------------ ------------------------------
|max721948| ``:``
------------------------------ ------------------------------
|max721958| ``;``
------------------------------ ------------------------------
|max721977| ``A``, ``a``
------------------------------ ------------------------------
|max72191F| ``B``, ``b``
------------------------------ ------------------------------
|max72193D| ``D``, ``d``
------------------------------ ------------------------------
|max72194F| ``E``, ``e``
------------------------------ ------------------------------
|max721947| ``F``, ``f``
------------------------------ ------------------------------
|max72195E| ``G``, ``g``
------------------------------ ------------------------------
|max72193C| ``J``, ``j``
------------------------------ ------------------------------
|max72190E| ``L``, ``l``
------------------------------ ------------------------------
|max721915| ``N``, ``n``
------------------------------ ------------------------------
|max721967| ``P``, ``p``
------------------------------ ------------------------------
|max7219FE| ``Q``
------------------------------ ------------------------------
|max721905| ``R``, ``r``
------------------------------ ------------------------------
|max72193E| ``U``, ``V``
------------------------------ ------------------------------
|max72193F| ``W``
------------------------------ ------------------------------
|max721927| ``Y``, ``y``
------------------------------ ------------------------------
|max721901| ``-``
------------------------------ ------------------------------
|max721908| ``_``
------------------------------ ------------------------------
|max721906| ``|``
------------------------------ ------------------------------
|max72190D| ``c``
------------------------------ ------------------------------
|max721917| ``h``
------------------------------ ------------------------------
|max72191D| ``o``
------------------------------ ------------------------------
|max72191C| ``u``, ``v``
============================== ==============================
.. |max721900| image:: images/max7219/seg00.svg
:class: component-image

View File

@ -20,28 +20,25 @@ The communication esphomelib has chosen to use for this integration is 4-wire :r
and high-speed. So you need to make sure your board is set to the 4-wire SPI mode and have an ``spi:`` section in your
configuration.
.. table::
:class: no-center
==================== ===================== =====================
**E-Paper Pin** **ESP Pin** **esphomelib Option**
-------------------- --------------------- ---------------------
``VCC`` ``3.3V`` N/A
-------------------- --------------------- ---------------------
``GND`` ``GND`` N/A
-------------------- --------------------- ---------------------
``CLK`` Any GPIO ``spi.clk_pin``
-------------------- --------------------- ---------------------
``DIN`` Any GPIO ``spi.mosi_pin``
-------------------- --------------------- ---------------------
``CS`` Any GPIO ``cs_pin``
-------------------- --------------------- ---------------------
``DC`` Any GPIO ``dc_pin``
-------------------- --------------------- ---------------------
``BUSY`` (Optional) Any GPIO ``busy_pin``
-------------------- --------------------- ---------------------
``RESET`` (Optional) Any GPIO ``reset_pin``
==================== ===================== =====================
==================== ===================== =====================
**E-Paper Pin** **ESP Pin** **esphomelib Option**
-------------------- --------------------- ---------------------
``VCC`` ``3.3V`` N/A
-------------------- --------------------- ---------------------
``GND`` ``GND`` N/A
-------------------- --------------------- ---------------------
``CLK`` Any GPIO ``spi.clk_pin``
-------------------- --------------------- ---------------------
``DIN`` Any GPIO ``spi.mosi_pin``
-------------------- --------------------- ---------------------
``CS`` Any GPIO ``cs_pin``
-------------------- --------------------- ---------------------
``DC`` Any GPIO ``dc_pin``
-------------------- --------------------- ---------------------
``BUSY`` (Optional) Any GPIO ``busy_pin``
-------------------- --------------------- ---------------------
``RESET`` (Optional) Any GPIO ``reset_pin``
==================== ===================== =====================
.. figure:: images/waveshare_epaper-pins.jpg
:align: center

View File

@ -44,7 +44,6 @@ Advanced options:
but you can customize this behavior using this option.
- **platformio_options** (*Optional*, mapping): Additional options to pass over to platformio in the
platformio.ini file. See :ref:`esphomeyaml-platformio_options`.
- **includes** (*Optional*, list): Additional files to include in the main.cpp for custom components.
- **libraries** (*Optional*, list): Additional `platformio libraries <https://platformio.org/lib>`__ to
include in the build. Mostly for custom code.
- **use_custom_code** (*Optional*, boolean): Whether to configure the project for writing custom components.

View File

@ -290,7 +290,7 @@ This effect allows you to write completely custom light effects yourself using :
} else {
call.set_rgb(1.0, 0.0, 0.0);
}
call.execute();
call.perform();
state += 1;
if (state == 4)
state = 0;

View File

@ -66,14 +66,14 @@ Configuration variables:
more about these here: `ESP32 <https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods>`__,
`ESP8266 <https://github.com/Makuna/NeoPixelBus/wiki/ESP8266-NeoMethods>`__
- ``ESP8266_DMA`` (default for ESP8266)
- ``ESP8266_UART0``
- ``ESP8266_UART1``
- ``ESP8266_ASYNC_UART0``
- ``ESP8266_ASYNC_UART1``
- ``ESP8266_DMA`` (default for ESP8266, only on pin GPIO3)
- ``ESP8266_UART0`` (only on pin GPIO1)
- ``ESP8266_UART1`` (only on pin GPIO3)
- ``ESP8266_ASYNC_UART0`` (only on pin GPIO1)
- ``ESP8266_ASYNC_UART1`` (only on pin GPIO3)
- ``ESP32_I2S_0``
- ``ESP32_I2S_1`` (default for ESP32)
- ``BIT_BANG``
- ``BIT_BANG`` (can flicker a bit)
- **num_leds** (**Required**, int): The number of LEDs attached.

View File

@ -72,7 +72,7 @@ Configuration variables:
- **address** (*Optional*, int): Manually specify the i^2c address of
the sensor. Defaults to ``0x77``. Another address can be ``0x76``.
- **iir_filter** (*Optional*): Set up an Infinite Impulse Response filter to increase accuracy. One of
``OFF``, ``2x``, ``4x``, ``16x``. Defaults to ``OFF``.
``OFF``, ``1x``, ``3x``, ``7x``, ``15x``, ``31x``, ``63x`` and ``127x``. Defaults to ``OFF``.
- **heater** (*Optional*): The settings for the internal heater for the gas sensor. Set this
to disable the internal heater.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -226,7 +226,8 @@ With this automation you can observe if a sensor value passes from outside
a defined range of values to inside a range. For example you can have an
automation that triggers when a humidity crosses a threshold, and then turns on a dehumidifier.
This trigger will only trigger when the new value is inside the range and the previous value
was outside the range. It will also trigger on startup if the first value received is inside the range.
was outside the range. On startup, the last state before reboot is restored and if the value crossed
the boundary during the boot process, the trigger is also executed.
Define the range with ``above`` and ``below``. If only one of them is defined, the interval is half-open.
So for example ``above: 5`` with no below would mean the range from 5 to positive infinity.

View File

@ -74,38 +74,35 @@ Alternatively, you can use ``.utcnow()`` to get the current UTC time.
The returned object can either be used directly to get the current minute, hour, ... as numbers or a string can be
created based on a given format. If you want to get the current time attributes, you have these fields
.. table::
:class: no-center
==================== ======================================== ======================================== ====================
**Name** **Meaning** **Range (inclusive)** **Example**
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.second`` Seconds after the minute [0-60] (generally [0-59], 42
extra range is to accommodate leap
seconds.)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.minute`` Minutes after the hour [0-59] 31
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.hour`` Hours since midnight [0-23] 16
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.day_of_week`` Day of the week, sunday=1 [1-7] 7 (saturday)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.day_of_month`` Day of the month [1-31] 18
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.day_of_year`` Day of the year [1-366] 231
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.month`` Month, january=1 [1-12] 8 (august)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.year`` Year since 0 A.C. [1970-∞[ 2018
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.is_dst`` Is daylight savings time false, true true
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.time`` Unix epoch time (seconds since UTC [-2147483648 - 2147483647] (negative 1534606002
Midnight January 1, 1970) values for time past January 19th 2038)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.is_valid()`` Basic check if the time is valid false, true true
(i.e. not January 1st 1970)
==================== ======================================== ======================================== ====================
==================== ======================================== ======================================== ====================
**Name** **Meaning** **Range (inclusive)** **Example**
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.second`` Seconds after the minute [0-60] (generally [0-59], 42
extra range is to accommodate leap
seconds.)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.minute`` Minutes after the hour [0-59] 31
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.hour`` Hours since midnight [0-23] 16
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.day_of_week`` Day of the week, sunday=1 [1-7] 7 (saturday)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.day_of_month`` Day of the month [1-31] 18
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.day_of_year`` Day of the year [1-366] 231
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.month`` Month, january=1 [1-12] 8 (august)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.year`` Year since 0 A.C. [1970-∞[ 2018
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.is_dst`` Is daylight savings time false, true true
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.time`` Unix epoch time (seconds since UTC [-2147483648 - 2147483647] (negative 1534606002
Midnight January 1, 1970) values for time past January 19th 2038)
-------------------- ---------------------------------------- ---------------------------------------- --------------------
``.is_valid()`` Basic check if the time is valid false, true true
(i.e. not January 1st 1970)
==================== ======================================== ======================================== ====================
.. note::
@ -131,59 +128,56 @@ The strftime will parse the format string (here ``"%Y-%m-%d %H:%M"``) and match
a percent sign ``%`` and a letter corresponding to one of the below formatting options and replace it
with the current time representation of that format option.
.. table::
:class: no-center
============= ============================================================== =========================
**Directive** **Meaning** **Example**
------------- -------------------------------------------------------------- -------------------------
``%a`` Abbreviated **weekday** name Sat
------------- -------------------------------------------------------------- -------------------------
``%A`` Full **weekday** name Saturday
------------- -------------------------------------------------------------- -------------------------
``%w`` **Weekday** as decimal number, where 0 is Sunday and 6 6
is Saturday
------------- -------------------------------------------------------------- -------------------------
``%d`` **Day of month** as zero-padded decimal number 01, 02, ..., 31
------------- -------------------------------------------------------------- -------------------------
``%b`` Abbreviated **month** name Aug
------------- -------------------------------------------------------------- -------------------------
``%B`` Full **month** name August
------------- -------------------------------------------------------------- -------------------------
``%m`` **Month** as zero-padded decimal number 01, 02, ..., 12
------------- -------------------------------------------------------------- -------------------------
``%y`` **Year** without century as a zero-padded decimal number 00, 01, ..., 99
------------- -------------------------------------------------------------- -------------------------
``%Y`` **Year** with century as a decimal number 2018
------------- -------------------------------------------------------------- -------------------------
``%H`` **Hour** (24-hour clock) as a zero-padded decimal number 00, 01, ..., 23
------------- -------------------------------------------------------------- -------------------------
``%I`` **Hour** (12-hour clock) as a zero-padded decimal number 00, 01, ..., 12
------------- -------------------------------------------------------------- -------------------------
``%p`` **AM or PM** designation AM, PM
------------- -------------------------------------------------------------- -------------------------
``%M`` **Minute** as a zero-padded decimal number 00, 01, ..., 59
------------- -------------------------------------------------------------- -------------------------
``%S`` **Second** as a zero-padded decimal number 00, 01, ..., 59
------------- -------------------------------------------------------------- -------------------------
``%j`` **Day of year** as a zero-padded decimal number 001, 002, ..., 366
------------- -------------------------------------------------------------- -------------------------
``%U`` **Week number of year** (Sunday as the first day of the week) 00, 01, ..., 53
as a zero-padded decimal number. All days in a new year
preceding the first Sunday are considered to be in week 0.
------------- -------------------------------------------------------------- -------------------------
``%W`` **Week number of year** (Monday as the first day of the week) 00, 01, ..., 53
as a zero-padded decimal number. All days in a new year
preceding the first Monday are considered to be in week 0.
------------- -------------------------------------------------------------- -------------------------
``%c`` **Date and time** representation Sat Aug 18 16:31:42 2018
------------- -------------------------------------------------------------- -------------------------
``%x`` **Date** representation 08/18/18
------------- -------------------------------------------------------------- -------------------------
``%X`` **Time** representation 16:31:42
------------- -------------------------------------------------------------- -------------------------
``%%`` A literal ``%`` character %
============= ============================================================== =========================
============= ============================================================== =========================
**Directive** **Meaning** **Example**
------------- -------------------------------------------------------------- -------------------------
``%a`` Abbreviated **weekday** name Sat
------------- -------------------------------------------------------------- -------------------------
``%A`` Full **weekday** name Saturday
------------- -------------------------------------------------------------- -------------------------
``%w`` **Weekday** as decimal number, where 0 is Sunday and 6 6
is Saturday
------------- -------------------------------------------------------------- -------------------------
``%d`` **Day of month** as zero-padded decimal number 01, 02, ..., 31
------------- -------------------------------------------------------------- -------------------------
``%b`` Abbreviated **month** name Aug
------------- -------------------------------------------------------------- -------------------------
``%B`` Full **month** name August
------------- -------------------------------------------------------------- -------------------------
``%m`` **Month** as zero-padded decimal number 01, 02, ..., 12
------------- -------------------------------------------------------------- -------------------------
``%y`` **Year** without century as a zero-padded decimal number 00, 01, ..., 99
------------- -------------------------------------------------------------- -------------------------
``%Y`` **Year** with century as a decimal number 2018
------------- -------------------------------------------------------------- -------------------------
``%H`` **Hour** (24-hour clock) as a zero-padded decimal number 00, 01, ..., 23
------------- -------------------------------------------------------------- -------------------------
``%I`` **Hour** (12-hour clock) as a zero-padded decimal number 00, 01, ..., 12
------------- -------------------------------------------------------------- -------------------------
``%p`` **AM or PM** designation AM, PM
------------- -------------------------------------------------------------- -------------------------
``%M`` **Minute** as a zero-padded decimal number 00, 01, ..., 59
------------- -------------------------------------------------------------- -------------------------
``%S`` **Second** as a zero-padded decimal number 00, 01, ..., 59
------------- -------------------------------------------------------------- -------------------------
``%j`` **Day of year** as a zero-padded decimal number 001, 002, ..., 366
------------- -------------------------------------------------------------- -------------------------
``%U`` **Week number of year** (Sunday as the first day of the week) 00, 01, ..., 53
as a zero-padded decimal number. All days in a new year
preceding the first Sunday are considered to be in week 0.
------------- -------------------------------------------------------------- -------------------------
``%W`` **Week number of year** (Monday as the first day of the week) 00, 01, ..., 53
as a zero-padded decimal number. All days in a new year
preceding the first Monday are considered to be in week 0.
------------- -------------------------------------------------------------- -------------------------
``%c`` **Date and time** representation Sat Aug 18 16:31:42 2018
------------- -------------------------------------------------------------- -------------------------
``%x`` **Date** representation 08/18/18
------------- -------------------------------------------------------------- -------------------------
``%X`` **Time** representation 16:31:42
------------- -------------------------------------------------------------- -------------------------
``%%`` A literal ``%`` character %
============= ============================================================== =========================
.. _time-on_time:

View File

@ -112,7 +112,7 @@ html_theme = 'alabaster'
# further. For a list of options available for each theme, see the
# documentation.
#
html_baseurl = os.getenv('BASE_URL', 'https://esphome.io/')
html_baseurl = os.getenv('BASE_URL', 'https://esphome.io')
html_theme_options = {
# 'logo': 'logo-full.png',
'logo_name': False,
@ -122,7 +122,7 @@ html_theme_options = {
'sidebar_collapse': True,
'fixed_sidebar': True,
'show_powered_by': False,
'canonical_url': html_baseurl + '/',
'font_size': '1.05em',
}
html_logo = 'images/logo-text.svg'

View File

@ -41,8 +41,8 @@ After validating the sensor is working, we can proceed and add some formulas.
- platform: template
name: "Absolute Humidity"
lambda: |-
const float mw = 18.01534; // molar mass of water g/mol
const float r = 8.31447215; // Universal gas constant J/mol/K
const float mw = 18.01534; // molar mass of water g/mol
const float r = 8.31447215; // Universal gas constant J/mol/K
return (6.112 * powf(2.718281828, (17.67 * id(bme280_temperature).state) / (id(bme280_temperature).state + 243.5)) * id(bme280_humidity).state * mw) / ((273.15 + id(bme280_temperature).state) * r); // in grams/m^3
update_interval: 15s

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

100
cookbook/h801.rst Normal file
View File

@ -0,0 +1,100 @@
H801 RGBW LED controller
========================
The H801 is pretty afordable and easy to hack and adapt to your needs. It can be found on `Aliexpress <https://s.click.aliexpress.com/e/bbnUDBZW>`__
`Here <http://tinkerman.cat/closer-look-h801-led-wifi-controller/>`__ is an article about the hardware for those who have an interest for more details about the board.
It can be used as a RGB, RGBW, RGB dual white or even control 5 individual monochromatic strips if you want or combinations of these.
.. figure:: images/h801.jpg
:align: center
:width: 80.0%
For esphomelib, you can then use the :doc:`RGBW </components/light/rgbw>`
and the :doc:`ESP8266 Software PWM output </components/output/esp8266_pwm>` components using below configuration:
.. code-block:: yaml
esphomeyaml:
name: h801light
platform: ESP8266
board: esp01_1m
wifi:
ssid: 'WIFI'
password: 'WIFIPASS'
manual_ip:
static_ip: x.x.x.x
gateway: x.x.x.x
subnet: 255.255.255.0
logger:
api:
ota:
sensor:
- platform: wifi_signal
name: "WiFi Signal h801light"
update_interval: 60s
#RGBWarm
output:
- platform: esp8266_pwm
pin: 12
frequency: 1000 Hz
id: pwm_b
- platform: esp8266_pwm
pin: 15
frequency: 1000 Hz
id: pwm_g
- platform: esp8266_pwm
pin: 13
frequency: 1000 Hz
id: pwm_r
- platform: esp8266_pwm
pin: 14
frequency: 1000 Hz
id: pwm_w
light:
- platform: rgbw
name: "H801 Light"
red: pwm_r
green: pwm_g
blue: pwm_b
white: pwm_w
Make your node in the esphome dashboard and compile/upload it. (if it fails OTA it must be uploaded manually with your favorite ESP flasher, e.g. :ref:`esphomeflasher <esphomeflasher>`)
.. figure:: images/gpio.jpg
:align: center
:width: 80.0%
Front side of board with pins soldered on
.. figure:: images/back.jpg
:align: center
:width: 80.0%
Back side of the board (don't melt the blue and red wire when soldering)
.. figure:: images/rgbwarm.jpg
:align: center
:width: 80.0%
This LED strip can be used with the sketch as-is
.. figure:: images/rgbw.jpg
:align: center
:width: 80.0%
For this type of led strip you have to swap the white and blue gpio numbers in the sketch
You will need to solder pins to the board inside the h801 (fortunately its pretty roomy and not a lot of components or stuff in the way part from the 2 wires on the back)
3.3v, GND, TX and RX (RX to RX and TX to TX) needs to be connected to your serial adapter, the two other pins must be shorted by a jumper or a breadboard cable when flashing.
(Remember to remove it after flashing)
See Also
--------
- :doc:`/components/light/rgbw`
- :doc:`/components/output/esp8266_pwm`
- :ghedit:`Edit`
.. disqus::

BIN
cookbook/images/back.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

BIN
cookbook/images/gpio.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

BIN
cookbook/images/h801.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
cookbook/images/rgbw.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

BIN
cookbook/images/rgbwarm.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
cookbook/images/serial.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

View File

@ -51,75 +51,69 @@ Some notes on the pins:
Special Pins
------------
.. table::
:class: no-center
=================== =============================================
``GPIO0`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO1`` UART TX pin
------------------- ---------------------------------------------
``GPIO2`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO3`` UART RX pin
------------------- ---------------------------------------------
``GPIO6`` SDIO/Flash CLK pin
------------------- ---------------------------------------------
``GPIO7`` SDIO/Flash Data 0 pin
------------------- ---------------------------------------------
``GPIO8`` SDIO/Flash Data 1 pin
------------------- ---------------------------------------------
``GPIO9`` SDIO/Flash Data 2 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO10`` SDIO/Flash Data 3 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO11`` SDIO/Flash CMD pin
------------------- ---------------------------------------------
``GPIO12`` Attached to Hardware SPI controller MISO
------------------- ---------------------------------------------
``GPIO13`` Attached to Hardware SPI controller MOSI
------------------- ---------------------------------------------
``GPIO14`` Attached to Hardware SPI controller CLK
------------------- ---------------------------------------------
``GPIO15`` Controls Boot Mode; Attached to Hardware SPI
controller CS
------------------- ---------------------------------------------
``GPIO16`` Special pin that can be accessed from RTC,
and is Deep-Sleep wakeup pin
------------------- ---------------------------------------------
TOUT aka ``GPIO17`` ADC pin for measuring voltages, can only be
used as analog input pin
=================== =============================================
=================== =============================================
``GPIO0`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO1`` UART TX pin
------------------- ---------------------------------------------
``GPIO2`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO3`` UART RX pin
------------------- ---------------------------------------------
``GPIO6`` SDIO/Flash CLK pin
------------------- ---------------------------------------------
``GPIO7`` SDIO/Flash Data 0 pin
------------------- ---------------------------------------------
``GPIO8`` SDIO/Flash Data 1 pin
------------------- ---------------------------------------------
``GPIO9`` SDIO/Flash Data 2 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO10`` SDIO/Flash Data 3 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO11`` SDIO/Flash CMD pin
------------------- ---------------------------------------------
``GPIO12`` Attached to Hardware SPI controller MISO
------------------- ---------------------------------------------
``GPIO13`` Attached to Hardware SPI controller MOSI
------------------- ---------------------------------------------
``GPIO14`` Attached to Hardware SPI controller CLK
------------------- ---------------------------------------------
``GPIO15`` Controls Boot Mode; Attached to Hardware SPI
controller CS
------------------- ---------------------------------------------
``GPIO16`` Special pin that can be accessed from RTC,
and is Deep-Sleep wakeup pin
------------------- ---------------------------------------------
TOUT aka ``GPIO17`` ADC pin for measuring voltages, can only be
used as analog input pin
=================== =============================================
This means effectively only the following pins can be used as general purpose GPIO:
.. table::
:class: no-center
========== ============================== ==============================
**Pin** **Restrictions** **State after Reset**
---------- ------------------------------ ------------------------------
``GPIO0`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO2`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO4`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO5`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO6`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO12`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO13`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO14`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO15`` If LOW on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO16`` Has pull-down (but no pull-up Weak Pull Down
resistor
========== ============================== ==============================
========== ============================== ==============================
**Pin** **Restrictions** **State after Reset**
---------- ------------------------------ ------------------------------
``GPIO0`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO2`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO4`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO5`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO6`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO12`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO13`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO14`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO15`` If LOW on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO16`` Has pull-down (but no pull-up Weak Pull Down
resistor
========== ============================== ==============================
Boot Modes
----------
@ -127,18 +121,15 @@ Boot Modes
On each boot, the ESP8266 will check three pins to determine in which boot mode to enter.
There are three boot modes:
.. table::
:class: no-center
========================= ========= ========= ========== ==============
**Mode** ``GPIO0`` ``GPIO2`` ``GPIO15`` ``boot mode:``
------------------------- --------- --------- ---------- --------------
Boot from Flash (normal) HIGH HIGH LOW 3
------------------------- --------- --------- ---------- --------------
Download Code from UART LOW HIGH LOW 1
------------------------- --------- --------- ---------- --------------
Boot from SD-Card ANY ANY HIGH 4-7
========================= ========= ========= ========== ==============
========================= ========= ========= ========== ==============
**Mode** ``GPIO0`` ``GPIO2`` ``GPIO15`` ``boot mode:``
------------------------- --------- --------- ---------- --------------
Boot from Flash (normal) HIGH HIGH LOW 3
------------------------- --------- --------- ---------- --------------
Download Code from UART LOW HIGH LOW 1
------------------------- --------- --------- ---------- --------------
Boot from SD-Card ANY ANY HIGH 4-7
========================= ========= ========= ========== ==============
You can identify these on boot-up by looking at the UART output, the first number
in the ``boot mode:`` line tells you what mode was selected
@ -156,48 +147,42 @@ Reset Causes
Additionally, the first line also contains the **reset cause**.
These reset causes `are documented <https://www.espressif.com/sites/default/files/documentation/esp8266_reset_causes_and_common_fatal_exception_causes_en.pdf>`__:
.. table::
:class: no-center
== ===================================
0 Undefined
-- -----------------------------------
1 Power On Reboot
-- -----------------------------------
2 External reset or deep-sleep wakeup
-- -----------------------------------
4 Hardware WDT reset
== ===================================
== ===================================
0 Undefined
-- -----------------------------------
1 Power On Reboot
-- -----------------------------------
2 External reset or deep-sleep wakeup
-- -----------------------------------
4 Hardware WDT reset
== ===================================
After a software reset, the reset cause will not change.
Electrical Characteristics
--------------------------
.. table::
:class: no-center
=========================================================== =========== =========== =========== ===========
**Parameter** **Min.** **Typical** **Max.** **Unit**
----------------------------------------------------------- ----------- ----------- ----------- -----------
Operating Temperature -40 125 °C
----------------------------------------------------------- ----------- ----------- ----------- -----------
Working Voltage ``V_IO`` 2.5 3.3 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IL`` - INPUT voltage level to be considered LOW -0.3 0.25*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IH`` - INPUT voltage level to be considered HIGH 0.75*V_IO 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OL`` - OUTPUT voltage level for LOW 0.1*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OH`` - OUTPUT voltage level for HIGH 0.8*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``I_MAX`` - Maximum current for GPIO 12 mA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Deep Sleep 20 µA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Active Mode 120 mA
=========================================================== =========== =========== =========== ===========
=========================================================== =========== =========== =========== ===========
**Parameter** **Min.** **Typical** **Max.** **Unit**
----------------------------------------------------------- ----------- ----------- ----------- -----------
Operating Temperature -40 125 °C
----------------------------------------------------------- ----------- ----------- ----------- -----------
Working Voltage ``V_IO`` 2.5 3.3 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IL`` - INPUT voltage level to be considered LOW -0.3 0.25*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IH`` - INPUT voltage level to be considered HIGH 0.75*V_IO 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OL`` - OUTPUT voltage level for LOW 0.1*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OH`` - OUTPUT voltage level for HIGH 0.8*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``I_MAX`` - Maximum current for GPIO 12 mA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Deep Sleep 20 µA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Active Mode 120 mA
=========================================================== =========== =========== =========== ===========
Source: `ESP8266EX datasheet <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>`__

View File

@ -202,32 +202,29 @@ Now we would like the 4CH to actually do something, not just connect to WiFi and
Below you will find a table of all usable GPIO pins of the Sonoff 4CH and a configuration file that exposes all
of the basic functions.
.. table::
:class: no-center
======================================== =========================================
``GPIO0`` Button #1 (inverted)
---------------------------------------- -----------------------------------------
``GPIO9`` Button #2 (inverted)
---------------------------------------- -----------------------------------------
``GPIO10`` Button #3 (inverted)
---------------------------------------- -----------------------------------------
``GPIO14`` Button #4 (inverted)
---------------------------------------- -----------------------------------------
``GPIO12`` Relay #1 and red LED
---------------------------------------- -----------------------------------------
``GPIO5`` Relay #2 and red LED
---------------------------------------- -----------------------------------------
``GPIO4`` Relay #3 and red LED
---------------------------------------- -----------------------------------------
``GPIO15`` Relay #4 and red LED
---------------------------------------- -----------------------------------------
``GPIO13`` Blue LED (inverted)
---------------------------------------- -----------------------------------------
``GPIO1`` ``RX`` pin (for external sensors)
---------------------------------------- -----------------------------------------
``GPIO3`` ``TX`` pin (for external sensors)
======================================== =========================================
======================================== =========================================
``GPIO0`` Button #1 (inverted)
---------------------------------------- -----------------------------------------
``GPIO9`` Button #2 (inverted)
---------------------------------------- -----------------------------------------
``GPIO10`` Button #3 (inverted)
---------------------------------------- -----------------------------------------
``GPIO14`` Button #4 (inverted)
---------------------------------------- -----------------------------------------
``GPIO12`` Relay #1 and red LED
---------------------------------------- -----------------------------------------
``GPIO5`` Relay #2 and red LED
---------------------------------------- -----------------------------------------
``GPIO4`` Relay #3 and red LED
---------------------------------------- -----------------------------------------
``GPIO15`` Relay #4 and red LED
---------------------------------------- -----------------------------------------
``GPIO13`` Blue LED (inverted)
---------------------------------------- -----------------------------------------
``GPIO1`` ``RX`` pin (for external sensors)
---------------------------------------- -----------------------------------------
``GPIO3`` ``TX`` pin (for external sensors)
======================================== =========================================
.. code-block:: yaml

View File

@ -40,22 +40,19 @@ said that other flash modes can brick the device, it's always good to specify it
Below you will find a table of all usable GPIO pins of the Sonoff Basic and a configuration file that
exposes all of the basic functions.
.. table::
:class: no-center
================================================== ==================================================
``GPIO0`` Button (inverted)
-------------------------------------------------- --------------------------------------------------
``GPIO1`` ``RX`` pin (C1 Pin 2)
-------------------------------------------------- --------------------------------------------------
``GPIO3`` ``TX`` pin (C1 Pin 3)
-------------------------------------------------- --------------------------------------------------
``GPIO12`` Relay
-------------------------------------------------- --------------------------------------------------
``GPIO13`` Green LED (inverted)
-------------------------------------------------- --------------------------------------------------
``GPIO14`` Optional Sensor (C1 Pin 5)
================================================== ==================================================
================================================== ==================================================
``GPIO0`` Button (inverted)
-------------------------------------------------- --------------------------------------------------
``GPIO1`` ``RX`` pin (C1 Pin 2)
-------------------------------------------------- --------------------------------------------------
``GPIO3`` ``TX`` pin (C1 Pin 3)
-------------------------------------------------- --------------------------------------------------
``GPIO12`` Relay
-------------------------------------------------- --------------------------------------------------
``GPIO13`` Green LED (inverted)
-------------------------------------------------- --------------------------------------------------
``GPIO14`` Optional Sensor (C1 Pin 5)
================================================== ==================================================
.. code-block:: yaml

View File

@ -198,20 +198,17 @@ Now we would like the S20 to actually do something, not just connect to WiFi and
Below you will find a table of all usable GPIO pins of the S20 and a configuration file that exposes all
of the basic functions.
.. table::
:class: no-center
======================================== ========================================
``GPIO0`` Push Button (HIGH = off, LOW = on)
---------------------------------------- ----------------------------------------
``GPIO12`` Relay and its status LED
---------------------------------------- ----------------------------------------
``GPIO13`` Green LED (HIGH = off, LOW = on)
---------------------------------------- ----------------------------------------
``GPIO1`` ``RX`` pin (for external sensors)
---------------------------------------- ----------------------------------------
``GPIO3`` ``TX`` pin (for external sensors)
======================================== ========================================
======================================== ========================================
``GPIO0`` Push Button (HIGH = off, LOW = on)
---------------------------------------- ----------------------------------------
``GPIO12`` Relay and its status LED
---------------------------------------- ----------------------------------------
``GPIO13`` Green LED (HIGH = off, LOW = on)
---------------------------------------- ----------------------------------------
``GPIO1`` ``RX`` pin (for external sensors)
---------------------------------------- ----------------------------------------
``GPIO3`` ``TX`` pin (for external sensors)
======================================== ========================================
.. code-block:: yaml

View File

@ -91,6 +91,7 @@ class ImageTableDirective(Table):
col_widths = self.get_column_widths(3)
title, messages = self.make_title()
table = nodes.table()
table['classes'].append('table-center')
# Set up column specifications based on widths
tgroup = nodes.tgroup(cols=3)
@ -141,7 +142,6 @@ class ImageTableDirective(Table):
rows.append(trow)
tbody.extend(rows)
table['classes'] += []
self.add_name(table)
if title:
table.insert(0, title)
@ -207,7 +207,6 @@ class PinTableDirective(Table):
trow += entry
tbody += trow
table['classes'] += ['no-center']
self.add_name(table)
if title:
table.insert(0, title)

View File

@ -15,8 +15,12 @@ is hosted on GitHub and you can find the sources here:
Just clone the repository locally, do the changes for your new feature/bug fix and submit
a pull request. I will try to take a look at your PR as soon as possible.
Contributing to esphomedocs
---------------------------
Contributing to ESPHome-Docs
----------------------------
.. figure:: /images/logo-docs.svg
:align: center
:width: 60.0%
One of the areas of esphomelib that can always be improved is the documentation.
If you see an issue somewhere, or spelling mistakes or if you want to share your awesome
@ -106,6 +110,10 @@ RST primer:
name: "Relay #42"
pin: GPIO13
.. note::
Please note the empty line after the ``code-block`` directive. That is necessary.
- **Images**: To show images, use the ``figure`` directive:
.. code-block:: rst
@ -122,6 +130,13 @@ RST primer:
Optional figure caption.
.. note::
All images in the documentation need to be as small as possible to ensure
fast page load times. For normal figures the maximum size should be at most
about 1000x800px or so. Additionally, please use online tools like
https://tinypng.com/ or https://tinyjpg.com/ to further compress images.
- **Notes and warnings**: You can create simple notes and warnings using the ``note`` and ``warning``
directives:
@ -178,6 +193,18 @@ RST primer:
1. Ordered Item #1
2. Ordered Item #2
- **imgtable**: ESPHome uses a custom RST directive to show the table on the front page (see `index.rst <https://github.com/esphome/esphome-docs/blob/current/index.rst>`__).
New pages need to be added to the ``imgtable`` list. The syntax is CSV with <PAGE NAME>, <FILE NAME> (without RST),
<IMAGE> (in top-level images/ directory). The aspect ratio of these images should be 8:10 (or 10:8) but exceptions are possible.
Because these images are served on the main page, they need to be compressed heavily. SVGs are prefered over JPGs
and JPGs should be max. 300x300px.
If you have imagemagick installed, you can use this command to convert the thumbnail:
.. code-block:: bash
convert -sampling-factor 4:2:0 -strip -interlace Plane -quality 80% -resize 300x300 in.jpg out.jpg
reStructured text can do a lot more than this, so if you're looking for a more complete guide
please have a look at the `Sphinx reStructuredText Primer <http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`__.
@ -187,53 +214,33 @@ Build
The easiest way is to use the `esphomedocs docker image <https://hub.docker.com/r/ottowinter/esphomedocs/>`__:
On Linux
.. code-block:: bash
docker run --rm -v "$PWD/..":/data -p 8000:8000 -it ottowinter/esphomedocs
docker run --rm -v "$PWD/":/data -p 8000:8000 -it ottowinter/esphomedocs
On Windows (PowerShell)
.. code-block:: powershell
docker run --rm -v ${PWD}/..:/data -p 8000:8000 -it ottowinter/esphomedocs
docker run --rm -v ${PWD}/:/data -p 8000:8000 -it ottowinter/esphomedocs
And then go to ``<CONTAINER_IP>:8000`` in your browser.
This way, you don't have to install the dependencies to build the documentation.
To check your documentation changes locally, you first need install sphinx (**with Python 3**) and
`doxygen <http://www.doxygen.nl/>`__.
To check your documentation changes locally, you first need install sphinx (**with Python 3**).
.. code-block:: bash
# in ESPHome-Docs repo:
pip3 install -r requirements.txt
Next, you will also need to clone the `ESPHome-Core repository <https://github.com/esphome/ESPHome-Core>`__ into
the paret folder where ``ESPHome-Docs`` sits like this:
.. code-block:: text
├── ESPHome-Docs/
│   ├── api/
│   ├── esphomeyaml/
│   ├── Doxygen
│   ├── Makefile
│   ├── index.rst
│   └── ...
└── ESPHome-Core/
├── docker/
├── examples/
├── lib/
├── src/
├── library.json
├── platformio.ini
└── ...
Then, use the provided Makefile to build the changes and start a simple web server:
.. code-block:: bash
# Update doxygen API docs
make doxyg
# Start web server on port 8000
make webserver
@ -254,8 +261,12 @@ Some notes about the docs:
* Fixes/improvements for the docs themselves should go to the ``current`` branch of the
esphomedocs repository. New features should be added against the ``next`` branch.
Contributing to esphomelib
--------------------------
Contributing to ESPHome-Core
----------------------------
.. figure:: /images/logo-core.svg
:align: center
:width: 60.0%
esphomelib is the engine behind all the esphomeyaml stuff. The framework is also designed
to be used on its own - i.e. without esphomeyaml. To contribute code to esphomelib to fix
@ -309,8 +320,12 @@ Standard for the esphomelib codebase:
For editing a local copy of esphomelib within the esphomeyaml ecosystem please see
:ref:`esphomeyaml.esphomelib_version <esphomeyaml-esphomelib_version>` option.
Contributing to esphomeyaml
---------------------------
Contributing to ESPHome
-----------------------
.. figure:: /images/logo-text.svg
:align: center
:width: 60.0%
esphomeyaml primarily does two things: It validates the configuration and creates C++ code.

View File

@ -8,7 +8,7 @@ Frequently Asked Questions
Tips for using esphomeyaml
--------------------------
1. esphomeyaml supports (most of) Home Assistant's YAML configuration directives like
1. esphomeyaml supports (most of) `Home Assistant's YAML configuration directives <https://www.home-assistant.io/docs/configuration/splitting_configuration/>`__ like
``!include``, ``!secret``. So you can store all your secret WiFi passwords and so on
in a file called ``secrets.yaml`` within the directory where the configuration file is.
@ -315,14 +315,14 @@ This will result in really small firmware data which has a high chance of fittin
Donations
---------
I invest lots of time into this project, so if you like esphomelib and want to support the project, donations
are very welcome.
I invest a lot of time into this project, so if you like ESPHome and want to
support the project, donations are very welcome :)
Before donating here though, please consider donating to charity (for example the red cross, UNICEF, greenpeace, ...).
They can use the money much better than I can. Also, I don't want donations for feature requests as I cannot
_guarantee_ that I can get a specific feature to work reliably.
You can donate to me via PayPal. Other donation options are being
explored. https://www.paypal.me/ottowinter
Donations are currently only possible via PayPal: https://www.paypal.me/ottowinter
(Please do not donate for specific features as I cannot guarantee I will
be able to implement a feature because of complexity or other problems.)
See Also
--------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
images/h801.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 15 KiB

17
images/index.rst Normal file
View File

@ -0,0 +1,17 @@
Images
======
This is a dummy file to include images in the sphinx output
that will only be used in raw HTML and thus not auto-included.
.. image:: shield-discord.svg
.. image:: shield-github.svg
.. image:: shield-donate.svg
.. image:: shield-twitter.svg
.. image:: logo.svg
.. image:: logo-core.svg
.. image:: logo-docs.svg
.. image:: logo-flasher.svg
.. image:: logo-release.svg
.. image:: logo-text.svg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 209 43"><g fill="none" fill-rule="evenodd"><path d="M10 0h189c5.54 0 10 4.46 10 10v23c0 5.54-4.46 10-10 10H10C4.46 43 0 38.54 0 33V10C0 4.46 4.46 0 10 0z" fill="#000"/><path d="M179.5 9.326c-8.162 0-13.887 3.244-13.887 3.244 3.137-2.596 8.618-4.09 8.618-4.09l-.517-.48c-5.147.085-9.807 3.385-9.807 3.385-5.238 10.126-4.903 18.87-4.903 18.87 4.264 5.106 10.598 4.74 10.598 4.74l2.163-2.54c-3.807-.761-6.213-3.892-6.213-3.892s5.725 3.61 13.948 3.61 13.948-3.61 13.948-3.61-2.406 3.131-6.213 3.893l2.163 2.538s6.334.367 10.598-4.739c0 0 .335-8.744-4.903-18.87 0 0-4.66-3.3-9.807-3.385l-.517.48s5.481 1.494 8.618 4.09c0 0-5.725-3.244-13.887-3.244z" fill="#fff" fill-rule="nonzero"/><path d="M173.485 20c1.952 0 3.545 1.57 3.515 3.5a3.52 3.52 0 0 1-3.515 3.5c-1.923 0-3.485-1.598-3.485-3.5 0-1.93 1.532-3.5 3.485-3.5zM185.485 20A3.503 3.503 0 0 1 189 23.5a3.52 3.52 0 0 1-3.515 3.5c-1.923 0-3.485-1.598-3.485-3.5 0-1.93 1.532-3.5 3.485-3.5z" fill="#000" fill-rule="nonzero"/><g aria-label="Discord" fill="#fff"><path d="M9.401 8.092h9.947q1.777 0 3.4.461 1.641.462 3.043 1.3 1.418.836 2.563 2.016 1.162 1.162 1.982 2.597.82 1.436 1.265 3.094.444 1.657.444 3.452 0 1.794-.444 3.452t-1.265 3.11q-.82 1.436-1.982 2.632-1.145 1.18-2.563 2.034-1.402.837-3.042 1.299-1.624.461-3.401.461H9.4v-4.683h2.068V12.792H9.401zm7.742 4.7v16.525h2.17q1.385 0 2.615-.649 1.23-.65 2.136-1.76.906-1.128 1.436-2.632.53-1.521.53-3.264 0-1.726-.53-3.23t-1.436-2.615q-.905-1.11-2.136-1.743-1.23-.632-2.615-.632zM34.455 16.295h7.947v13.022h2.46V34H34.456v-4.683h2.666v-8.34h-2.666zm2.393-5.708q0-.632.222-1.18.24-.563.65-.973.41-.41.956-.65.564-.24 1.214-.24.615 0 1.162.24.547.24.957.65.41.41.65.974.238.547.238 1.179t-.239 1.196q-.24.547-.65.957-.41.41-.956.65-.547.239-1.162.239-.65 0-1.214-.24-.547-.239-.957-.649-.41-.41-.65-.957-.221-.564-.221-1.196zM59.287 21.712q0-.41-.274-.786-.256-.376-.769-.65-.513-.29-1.265-.46-.734-.171-1.674-.171-.36 0-.77.068-.41.051-.768.205-.342.154-.581.427-.223.257-.223.667 0 .205.052.393.068.188.239.359.17.17.461.324.308.137.786.223l3.213.632q1.744.342 2.923.854 1.179.513 1.897 1.197.717.683 1.025 1.52.325.838.325 1.812 0 1.521-.718 2.666-.7 1.145-1.863 1.914-1.145.752-2.597 1.128-1.436.393-2.906.393-.957 0-1.743-.12-.769-.119-1.401-.324-.615-.205-1.111-.479-.479-.29-.889-.632h-3.093v-4.75h4.836v.102q.018.495.308.871.29.36.752.615.479.257 1.077.394.598.12 1.264.12 1.538 0 2.24-.394.7-.41.7-1.042 0-.496-.342-.838-.342-.359-1.213-.564l-3.282-.7q-3.093-.599-4.665-1.983-1.572-1.401-1.572-3.589 0-1.281.598-2.324.598-1.06 1.623-1.794 1.026-.752 2.393-1.163 1.384-.41 2.956-.41 1.077 0 1.914.137.838.12 1.504.325.667.205 1.162.495.513.274.906.581h2.974v4.751zM80.12 22.413q-.736-.923-1.641-1.384-.906-.479-2.137-.41-.99-.069-1.811.273-.803.342-1.402.957-.58.615-.905 1.47-.325.837-.325 1.897 0 .94.342 1.777.342.838.923 1.453.598.598 1.4.94.821.342 1.778.41.804-.068 1.453-.325.666-.273 1.18-.683.512-.428.87-.94.377-.53.582-.992l4.7 1.3q-.291 1.025-1.009 2.136-.7 1.11-1.846 2.033-1.127.906-2.7 1.504-1.555.598-3.554.598-2.034 0-3.743-.735-1.71-.752-2.94-2.033-1.23-1.282-1.93-3.008-.684-1.726-.684-3.709 0-1.965.7-3.64.718-1.692 1.966-2.94 1.247-1.264 2.956-1.965 1.726-.7 3.743-.632 1.435-.068 2.786.325 1.35.393 2.563 1.179h3.4v5.144zM86.887 25.08q0-1.932.7-3.624.701-1.692 1.949-2.956 1.247-1.265 2.973-2 1.726-.735 3.794-.735t3.794.735q1.743.735 2.99 2 1.248 1.264 1.932 2.956.7 1.692.7 3.623 0 1.931-.683 3.64-.666 1.692-1.914 2.974-1.23 1.265-2.974 2-1.726.734-3.845.734-2.136 0-3.88-.735-1.725-.734-2.956-2-1.23-1.264-1.914-2.956-.666-1.709-.666-3.657zm5.11 0q0 1.007.341 1.862.342.837.923 1.453.598.615 1.367.957.787.341 1.675.341.906 0 1.675-.324.786-.342 1.35-.957.581-.616.906-1.453.325-.855.325-1.88 0-1.06-.325-1.914-.325-.854-.906-1.453-.564-.598-1.35-.905-.769-.325-1.675-.308-.888-.017-1.675.308-.769.307-1.367.905-.58.599-.923 1.453-.341.855-.341 1.914zM124.348 22.738h-4.803v-1.829q-.7 0-1.281.103-.581.085-1.026.307-.427.223-.735.616-.29.393-.41.974v6.408h3.606V34h-11.553v-4.683h2.65v-8.34h-2.615v-4.682h7.878v1.247q.752-.598 1.692-.922.94-.325 2.05-.325 1.129 0 2.325.017 1.196.017 2.222.017zM137.763 7.408h7.742v21.91h3.452V34h-8.716v-.684q-.923.479-1.897.752-.957.274-1.948.274-2.034 0-3.743-.718-1.692-.735-2.922-2-1.213-1.264-1.897-2.956-.684-1.709-.684-3.657t.667-3.623q.683-1.692 1.88-2.94 1.213-1.247 2.888-1.965 1.692-.718 3.708-.718 1.111 0 2.085.222.975.205 1.863.598v-4.494h-2.478zm-1.076 22.217q1.127-.034 2.033-.581.923-.547 1.521-1.436v-5.212q-.598-.906-1.555-1.401-.94-.513-2-.496-.888-.017-1.674.308-.77.324-1.367.922-.582.599-.923 1.436-.342.837-.342 1.897 0 1.042.342 1.897.341.837.923 1.436.598.58 1.367.888.786.308 1.675.342z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

1
images/shield-donate.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 183 43"><g fill="none" fill-rule="evenodd"><path d="M10 0h163c5.54 0 10 4.46 10 10v23c0 5.54-4.46 10-10 10H10C4.46 43 0 38.54 0 33V10C0 4.46 4.46 0 10 0z" fill="#000"/><g aria-label="Donate" fill="#fff"><path d="M9.401 8.092h9.947q1.777 0 3.4.461 1.641.462 3.043 1.3 1.418.836 2.563 2.016 1.162 1.162 1.982 2.597.82 1.436 1.265 3.094.444 1.657.444 3.452 0 1.794-.444 3.452t-1.265 3.11q-.82 1.436-1.982 2.632-1.145 1.18-2.563 2.034-1.402.837-3.042 1.299-1.624.461-3.401.461H9.4v-4.683h2.068V12.792H9.401zm7.742 4.7v16.525h2.17q1.385 0 2.615-.649 1.23-.65 2.136-1.76.906-1.128 1.436-2.632.53-1.521.53-3.264 0-1.726-.53-3.23t-1.436-2.615q-.905-1.11-2.136-1.743-1.23-.632-2.615-.632zM34.318 25.08q0-1.932.701-3.624.7-1.692 1.948-2.956 1.248-1.265 2.974-2 1.726-.735 3.794-.735t3.794.735q1.743.735 2.99 2 1.248 1.264 1.932 2.956.7 1.692.7 3.623 0 1.931-.683 3.64-.667 1.692-1.914 2.974-1.23 1.265-2.974 2-1.726.734-3.845.734-2.136 0-3.88-.735-1.726-.734-2.956-2-1.23-1.264-1.914-2.956-.667-1.709-.667-3.657zm5.11 0q0 1.007.342 1.862.342.837.923 1.453.598.615 1.367.957.786.341 1.675.341.906 0 1.675-.324.786-.342 1.35-.957.58-.616.906-1.453.324-.855.324-1.88 0-1.06-.324-1.914-.325-.854-.906-1.453-.564-.598-1.35-.905-.77-.325-1.675-.308-.889-.017-1.675.308-.769.307-1.367.905-.581.599-.923 1.453-.342.855-.342 1.914zM70.275 23.814q0-1.486-.786-2.324-.786-.854-2.085-.854-.888 0-1.794.393t-1.76 1.47v6.818h2.87V34H55.716v-4.683h2.597v-8.34H55.75v-4.682h8.066v1.555q1.111-.871 2.478-1.367 1.385-.513 2.906-.513 3.196 0 4.922 1.795 1.726 1.777 1.726 5.212v6.34h2.512V34h-8.084zM91.552 33.043q-.598.376-1.094.65-.495.256-.99.41-.496.17-1.026.239-.53.085-1.162.085-1.59 0-2.854-.427-1.248-.444-2.12-1.196-.854-.77-1.315-1.795-.462-1.042-.462-2.256 0-1.23.462-2.273.478-1.042 1.367-1.777.889-.752 2.17-1.162 1.3-.427 2.957-.427 1.213 0 2.204.136 1.009.12 1.863.308v-.547q0-.666-.256-1.145-.256-.495-.718-.803-.461-.325-1.11-.461-.65-.154-1.42-.154-1.606 0-2.836.324-1.213.308-2.341.906l-1.641-3.315q1.743-1.196 3.64-1.829 1.914-.632 4.05-.632 1.658 0 3.06.376 1.418.359 2.426 1.196 1.009.82 1.573 2.153.58 1.333.58 3.248v6.442h2.376V34h-7.383zm-3.896-2.649q1.213 0 2.204-.393.992-.393 1.692-.957v-2.256h-4.101q-.393 0-.77.12-.375.12-.683.342-.29.222-.478.546-.171.325-.171.752 0 .786.564 1.316.58.53 1.743.53zM109.223 16.295h3.538v4.477h-3.572l-.034 7.486q0 .65.102 1.06.103.392.29.632.206.239.48.324.273.086.632.086.65 0 1.145-.12.495-.136.99-.307l.736 3.298q-.872.547-1.948.872-1.06.324-2.53.324-1.042 0-2-.359-.94-.359-1.657-1.076-.718-.735-1.145-1.829-.427-1.094-.41-2.546l.051-7.845h-2.546v-4.477h2.563l.034-4.238 5.315-2.53zM120.81 26.258l.051.53q.188.77.633 1.35.461.581 1.076.974.616.393 1.368.598.751.188 1.52.188.77 0 1.453-.085.7-.103 1.35-.256.65-.171 1.265-.376.615-.223 1.247-.462l1.88 3.504q-.974.598-1.794 1.025-.803.41-1.624.684-.82.273-1.743.393-.923.136-2.153.136-2.307 0-4.102-.752-1.794-.769-3.025-2.067-1.213-1.3-1.862-3.042-.633-1.744-.633-3.692 0-1.948.667-3.657.683-1.709 1.914-2.974 1.23-1.281 2.94-2.016 1.708-.735 3.793-.735t3.692.7q1.623.684 2.734 1.915 1.11 1.213 1.71 2.87.597 1.641.648 3.538.052.428.052.855.017.41-.017.854zm4.085-6.46q-.958 0-1.641.24-.667.222-1.128.632-.461.393-.735.906-.273.512-.427 1.076h7.4q-.12-.58-.342-1.093-.222-.513-.615-.906t-1.009-.615q-.598-.24-1.503-.24z"/></g><path d="M154.46 36.955c-.185-.075-.405-.315-.439-.48-.05-.225-.101.165 1.014-6.137 1.014-5.703.997-5.613 1.132-5.778.22-.255.186-.255 2.72-.27 2.231-.045 2.704-.045 3.701-.18 5.492-.675 8.888-3.541 10.071-8.493.068-.33.135-.615.152-.615 0-.015.119.06.254.15 1.74 1.17 2.332 3.331 1.673 6.212-.778 3.437-2.84 5.717-6.05 6.693-1.368.42-2.517.585-4.545.63-1.352.06-1.386.06-1.774.285-.288.255-.27.21-.93 3.826-.456 2.551-.625 3.377-.693 3.527-.118.24-.354.45-.625.57l-.186.105H157.3c-2.18 0-2.737 0-2.839-.045z" fill="#fff" fill-rule="nonzero"/><path d="M146.535 32.937c-.318-.157-.535-.425-.535-.74 0-.425 4.36-26.126 4.478-26.41.15-.283.534-.582.835-.693l.25-.094h5.899c6.533 0 6.282 0 7.753.315 4.377.866 6.382 3.622 5.63 7.764-.835 4.614-3.308 7.354-7.519 8.346-1.453.33-2.472.425-5.246.425-2.189 0-2.356.016-2.79.237a1.972 1.972 0 0 0-.936 1.18c-.067.111-.451 2.316-.885 4.883a359.853 359.853 0 0 0-.786 4.756l-.05.094h-2.974c-2.64 0-3.007 0-3.124-.063z" fill="#fff" fill-rule="nonzero"/></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

1
images/shield-github.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 43"><g fill="none" fill-rule="evenodd"><path d="M10 0h172c5.54 0 10 4.46 10 10v23c0 5.54-4.46 10-10 10H10C4.46 43 0 38.54 0 33V10C0 4.46 4.46 0 10 0z" fill="#000"/><g aria-label="GitHub" fill="#fff"><path d="M26.713 35v-4.443q-1.06 1.862-2.068 2.734-1.008.872-2.29 1.401-1.265.53-3.4.513-1.06-.017-2.12-.24-1.06-.238-2.05-.649-.992-.427-1.95-1.008-.939-.598-1.708-1.367-1.897-1.914-2.957-4.426-1.042-2.53-1.042-5.503 0-1.829.444-3.538.445-1.709 1.248-3.196.803-1.486 1.931-2.7 1.145-1.23 2.53-2.102 1.4-.872 3.007-1.35 1.607-.479 3.367-.479 2.016 0 3.503.547 1.487.53 3.196 2h3.828v5.776h-5.28q-.787-1.213-1.487-1.76-.684-.547-1.504-.906-.804-.359-2.256-.359-1.436 0-2.666.65t-2.136 1.76q-.89 1.094-1.402 2.598-.513 1.486-.513 3.059 0 1.555.462 2.956.461 1.402 1.401 2.53.94 1.11 2.188 1.709 1.247.598 2.666.598 1.811 0 3.161-1.06t1.949-2.888h-4.94v-4.683h11.998V35zM35.326 17.295h7.947v13.022h2.46V35H35.327v-4.683h2.666v-8.34h-2.666zm2.393-5.708q0-.632.222-1.18.24-.563.65-.973.41-.41.956-.65.564-.24 1.214-.24.615 0 1.162.24.547.24.957.65.41.41.65.974.239.547.239 1.179t-.24 1.196q-.239.547-.65.957-.41.41-.956.65-.547.239-1.162.239-.65 0-1.214-.24-.547-.239-.957-.649-.41-.41-.65-.957-.221-.564-.221-1.196zM55.543 17.295h3.538v4.477H55.51l-.034 7.486q0 .65.103 1.06.102.392.29.632.205.239.479.324.273.086.632.086.65 0 1.145-.12.496-.136.991-.307l.735 3.298q-.871.547-1.948.872-1.06.324-2.53.324-1.042 0-1.999-.359-.94-.359-1.658-1.076-.717-.735-1.145-1.829-.427-1.094-.41-2.546l.051-7.845h-2.546v-4.477h2.564l.034-4.238 5.315-2.53zM80.443 9.092h11.109v4.7h-2.735v16.525h2.735V35H80.443v-4.683h2.7v-6.63H71.455v6.63h2.734V35h-11.09v-4.683h2.682V13.792h-2.683v-4.7h11.091v4.7h-2.734v5.383h11.69v-5.383h-2.7zM105.856 17.295h8.374v13.022h2.136V35h-7.502v-1.504q-.906.82-2.12 1.265-1.213.444-2.802.444-1.47 0-2.769-.461-1.298-.462-2.273-1.385-.957-.94-1.52-2.34-.547-1.402-.547-3.3v-5.741h-2.308v-4.683h7.828V27.72q0 1.777.905 2.666.906.871 2.359.871 1.025 0 1.862-.632.838-.632 1.214-1.709v-6.938h-2.837zM118.126 8.408h7.725v9.28q.923-.444 1.897-.684.974-.239 2-.239 1.965 0 3.64.735 1.674.735 2.888 2 1.213 1.264 1.897 2.956.7 1.692.7 3.589 0 1.914-.683 3.606-.667 1.692-1.88 2.956-1.213 1.248-2.888 1.983-1.675.718-3.674.718-1.077 0-2.051-.205-.974-.206-1.846-.582V35h-5.247V13.09h-2.478zm11.263 13.074q-1.128 0-2.034.513-.889.512-1.504 1.47v5.297q.547.82 1.453 1.333.923.496 2.05.496.872 0 1.658-.308.786-.325 1.367-.906.599-.598.94-1.418.342-.837.342-1.88 0-1.06-.342-1.914-.341-.854-.923-1.453-.58-.598-1.367-.905-.769-.325-1.64-.325z"/></g><path d="M165.5 4C155.283 4 147 11.8 147 21.422c0 7.7 5.31 14.234 12.654 16.551.925.14 1.221-.4 1.221-.871v-2.944c-5.125 1.045-6.216-2.335-6.216-2.335-.851-2.02-2.054-2.561-2.054-2.561-1.683-1.08.13-1.045.13-1.045 1.85.122 2.83 1.794 2.83 1.794 1.61 2.648 4.33 1.864 5.384 1.446.166-1.132.647-1.899 1.165-2.334-4.107-.436-8.417-1.934-8.417-8.572 0-1.934.703-3.484 1.905-4.721-.185-.436-.832-2.248.185-4.6 0 0 1.554-.47 5.088 1.777a18.446 18.446 0 0 1 4.625-.575c1.573 0 3.163.192 4.625.575 3.534-2.247 5.088-1.777 5.088-1.777 1.017 2.352.37 4.164.185 4.6 1.202 1.237 1.905 2.787 1.905 4.721 0 6.655-4.329 8.119-8.454 8.554.666.54 1.276 1.603 1.276 3.223v4.774c0 .47.296 1.028 1.24.871 7.344-2.335 12.635-8.85 12.635-16.55 0-4.622-1.95-9.053-5.419-12.32C175.112 5.836 170.407 4 165.5 4z" fill="#fff" fill-rule="nonzero"/></g></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 202 43"><g fill="none" fill-rule="evenodd"><path d="M10 0h182c5.54 0 10 4.46 10 10v23c0 5.54-4.46 10-10 10H10C4.46 43 0 38.54 0 33V10C0 4.46 4.46 0 10 0z" fill="#000"/><path d="M195 11.294a19.31 19.31 0 0 1-4.821 1.137c1.724-.873 3.057-2.257 3.684-3.92-1.626.823-3.43 1.4-5.33 1.729-1.549-1.416-3.724-2.24-6.194-2.24-4.605 0-8.368 3.162-8.368 7.066 0 .56.078 1.103.215 1.614-6.977-.296-13.19-3.113-17.325-7.379a6.163 6.163 0 0 0-1.136 3.541c0 2.454 1.47 4.629 3.743 5.864-1.392 0-2.685-.33-3.822-.824v.05c0 3.426 2.9 6.292 6.742 6.934a9.755 9.755 0 0 1-3.782.115c1.058 2.784 4.135 4.859 7.839 4.908-2.861 1.911-6.487 3.031-10.446 3.031-.666 0-1.333-.033-1.999-.099 3.724 2.01 8.153 3.179 12.896 3.179 15.443 0 23.93-10.772 23.93-20.11 0-.314 0-.61-.02-.923A15.58 15.58 0 0 0 195 11.294z" fill="#fff" fill-rule="nonzero"/><g aria-label="Twitter" fill="#fff"><path d="M14.375 29.317h2.683V12.621h-3.145v3.35H8.342V8.09h23.567v7.88h-5.606v-3.35h-3.572v16.696h2.735V34H14.375zM33.173 16.295h9.246v4.683h-2l1.88 6.306 3.64-10.99h5.008l3.674 11.554 2.256-6.87H54.98v-4.683h9.246v4.683H61.85l-4.734 13.09h-5.11l-3.708-11.296-3.777 11.296h-4.973l-4.392-13.09h-1.983zM66.31 16.295h7.947v13.022h2.461V34H66.311v-4.683h2.666v-8.34H66.31zm2.393-5.708q0-.632.222-1.18.24-.563.65-.973.41-.41.957-.65.564-.24 1.213-.24.615 0 1.162.24.547.24.957.65.41.41.65.974.239.547.239 1.179t-.24 1.196q-.239.547-.649.957-.41.41-.957.65-.547.239-1.162.239-.65 0-1.213-.24-.547-.239-.957-.649-.41-.41-.65-.957-.222-.564-.222-1.196zM86.528 16.295h3.537v4.477h-3.571l-.035 7.486q0 .65.103 1.06.103.392.29.632.206.239.48.324.272.086.631.086.65 0 1.145-.12.496-.136.992-.307l.734 3.298q-.871.547-1.948.872-1.06.324-2.53.324-1.042 0-1.999-.359-.94-.359-1.657-1.076-.718-.735-1.145-1.829-.428-1.094-.41-2.546l.05-7.845H78.65v-4.477h2.564l.034-4.238 5.315-2.53zM100.2 16.295h3.537v4.477h-3.571l-.035 7.486q0 .65.103 1.06.102.392.29.632.205.239.479.324.273.086.632.086.65 0 1.145-.12.496-.136.991-.307l.735 3.298q-.871.547-1.948.872-1.06.324-2.53.324-1.042 0-1.999-.359-.94-.359-1.657-1.076-.718-.735-1.145-1.829-.428-1.094-.41-2.546l.05-7.845h-2.546v-4.477h2.564l.034-4.238 5.315-2.53zM111.787 26.258l.05.53q.189.77.633 1.35.462.581 1.077.974t1.367.598q.752.188 1.521.188.77 0 1.453-.085.7-.103 1.35-.256.65-.171 1.264-.376.616-.223 1.248-.462l1.88 3.504q-.974.598-1.795 1.025-.803.41-1.623.684-.82.273-1.743.393-.923.136-2.154.136-2.307 0-4.101-.752-1.795-.769-3.025-2.067-1.213-1.3-1.863-3.042-.632-1.744-.632-3.692 0-1.948.666-3.657.684-1.709 1.914-2.974 1.23-1.281 2.94-2.016 1.709-.735 3.794-.735t3.691.7q1.624.684 2.735 1.915 1.11 1.213 1.709 2.87.598 1.641.649 3.538.051.428.051.855.017.41-.017.854zm4.084-6.46q-.957 0-1.64.24-.667.222-1.128.632-.462.393-.735.906-.274.512-.428 1.076h7.4q-.12-.58-.341-1.093-.223-.513-.616-.906t-1.008-.615q-.598-.24-1.504-.24zM143.557 22.738h-4.803v-1.829q-.7 0-1.281.103-.581.085-1.026.307-.427.223-.735.616-.29.393-.41.974v6.408h3.606V34h-11.553v-4.683h2.65v-8.34h-2.615v-4.682h7.878v1.247q.752-.598 1.692-.922.94-.325 2.05-.325 1.129 0 2.325.017 1.196.017 2.222.017z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -6,15 +6,16 @@ ESPHome
.. seo::
:description: ESPHome Homepage - Reimagining DIY Home Automation. ESPHome is a framework that tries to provide the best possible use experience for using ESP8266 and ESP32 microcontrollers for Home Automation. Just write a simple YAML configuration file and get your own customized firmware.
:image: logo-text.png
:image: logo.png
.. image:: /images/logo-text.svg
.. raw:: html
<a href="https://github.com/OttoWinter/esphomelib"><img src="https://img.shields.io/github/stars/OttoWinter/esphomelib.svg?style=social&label=Star&maxAge=2592000" alt="GitHub stars" style="max-width:100%;"></a>
<a href="https://esphomelib.com/esphomeyaml/changelog/index.html"><img src="https://img.shields.io/pypi/v/esphomeyaml.svg" alt="Release" style="max-width:100%;"></a>
<a href="https://discord.gg/KhAMKrd"><img src="https://img.shields.io/discord/429907082951524364.svg" alt="Discord Chat" style="max-width:100%;"></a>
<a href="https://github.com/esphome/esphome"><img src="/_images/shield-github.svg" alt="GitHub" style="max-width:100%;height:26px;width:116.1px;margin-top:10px;"></a>
<a href="https://discord.gg/KhAMKrd"><img src="/_images/shield-discord.svg" alt="Discord" style="max-width:100%;height:26px;width:126.3px;"></a>
<a href="https://twitter.com/esphome_"><img src="/_images/shield-twitter.svg" alt="Twitter" style="max-width:100%;height:26px;width:122.1px;"></a>
<a href="/guides/faq.html#donations"><img src="/_images/shield-donate.svg" alt="Donate" style="max-width:100%;height:26px;width:110.6px;"></a>
.. _guides:
@ -297,6 +298,7 @@ This list contains items that are technically already supported by other compone
Dual Relay Motor Cover, cookbook/dual-r2-cover, sonoff_dual_r2.jpg
BME280 Environment, cookbook/bme280_environment, bme280.jpg
Sonoff Fishpond Pump, cookbook/sonoff-fishpond-pump, cookbook-sonoff-fishpond-pump.jpg
H801 LED Controller, cookbook/h801, h801.jpg
Do you have other awesome automations or cool setups? Please feel free to add them to the
documentation for others to copy. See :doc:`Contributing </guides/contributing>`.
@ -312,3 +314,4 @@ documentation for others to copy. See :doc:`Contributing </guides/contributing>`
guides/index
changelog/index
custom/index
images/index

View File

@ -1,10 +1,10 @@
[build]
publish = "_build/html"
command = "make netlify"
environment = { BASE_URL = "https://esphome.io/" }
environment = { BASE_URL = "https://esphome.io" }
[context.beta]
environment = { BASE_URL = "https://beta.esphome.io/" }
environment = { BASE_URL = "https://beta.esphome.io" }
# A basic redirect rule
[[redirects]]

3
seo.py
View File

@ -44,7 +44,7 @@ def seo_visit(self: HTMLTranslator, node: SEONode):
def create_property_meta(name, content):
if content is None:
return
self.meta.append('<meta property="{}" content="{}"/>\n'.format(name, encode_text(content)))
self.meta.append('<meta property="{}" content="{}">\n'.format(name, encode_text(content)))
# Base
create_content_meta("description", node.description)
@ -70,7 +70,6 @@ def seo_visit(self: HTMLTranslator, node: SEONode):
create_property_meta("og:title", node.title)
create_property_meta("og:image", node.image)
create_property_meta("og:type", "article" if node.author is not None else "website")
create_property_meta("og:site_name", "esphomelib")
create_property_meta("og:description", node.description)

View File

@ -37,7 +37,7 @@ def create_sitemap(app, exception):
for link in app.sitemap_links:
url = ET.SubElement(root, "url")
ET.SubElement(url, "loc").text = app.builder.config.html_baseurl + link
ET.SubElement(url, "loc").text = app.builder.config.html_baseurl + '/' + link
priority = 0.5
if link.endswith('index.html'):
priority += 0.25

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

BIN
svg2png/logo-core.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
svg2png/logo-docs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
svg2png/logo-flasher.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
svg2png/logo-release.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
svg2png/shield-discord.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
svg2png/shield-donate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Some files were not shown because too many files have changed in this diff Show More