This commit is contained in:
Otto Winter 2018-09-23 19:00:31 +02:00
parent 6e6529b925
commit b22eb50150
No known key found for this signature in database
GPG Key ID: DB66C0BE6013F97E
18 changed files with 414 additions and 62 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
_static/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
_static/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
_static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
_static/logo-full.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
_static/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -0,0 +1,84 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="1040.000000pt" height="1040.000000pt" viewBox="0 0 1040.000000 1040.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,1040.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M3445 8564 c-122 -32 -247 -129 -298 -230 -51 -100 -58 -145 -60
-390 l-2 -229 -54 -3 c-103 -6 -195 -73 -231 -169 -20 -53 -20 -78 -20 -2247
l0 -2193 -885 0 -884 0 1 93 1 94 663 0 c409 0 673 4 689 10 38 15 83 65 90
102 4 18 5 155 3 303 -3 295 -4 300 -66 342 -28 19 -85 20 -1294 23 l-87 0 2
93 1 94 673 0 673 0 36 28 c61 47 64 63 64 359 0 163 -4 276 -11 293 -15 41
-57 81 -93 89 -17 4 -326 8 -686 8 l-655 1 -2 93 c-1 88 0 92 20 93 12 0 315
2 672 3 358 1 659 6 670 11 25 11 46 32 67 66 14 23 17 65 18 303 1 307 -2
325 -64 369 l-31 22 -676 3 -676 3 0 669 0 669 -23 36 c-24 39 -78 71 -125 73
-41 2 -105 -36 -129 -77 -19 -33 -19 -55 -19 -796 0 -737 0 -764 19 -796 11
-18 35 -42 54 -54 34 -19 52 -20 700 -21 366 -1 667 -2 670 -3 3 0 5 -42 5
-93 l0 -91 -670 -1 c-655 -1 -671 -1 -705 -21 -19 -12 -43 -36 -54 -54 -18
-31 -19 -54 -19 -310 0 -308 4 -329 66 -366 31 -19 60 -20 707 -25 l675 -5 1
-80 c0 -44 -1 -85 -4 -91 -2 -9 -178 -12 -668 -12 l-664 -1 -40 -22 c-70 -40
-74 -56 -73 -371 1 -310 3 -321 73 -363 34 -19 51 -20 640 -22 333 -1 634 -2
670 -3 l65 0 0 -93 0 -92 -660 1 c-709 1 -704 1 -752 -51 -12 -13 -25 -36 -29
-51 -10 -38 -9 -543 0 -574 11 -32 54 -79 86 -92 16 -6 390 -10 998 -10 712 0
972 -4 973 -12 1 -6 1 -14 0 -18 0 -4 8 -32 19 -62 36 -94 133 -162 237 -167
l51 -2 0 -211 c0 -116 3 -231 7 -255 27 -177 160 -327 340 -382 45 -14 169
-17 229 -6 109 20 252 127 309 231 49 89 59 150 60 396 l2 225 68 1 67 2 1
-224 c1 -123 2 -227 3 -231 1 -5 5 -25 9 -45 29 -143 157 -286 301 -337 71
-25 184 -33 254 -19 122 26 242 110 306 217 61 101 70 148 71 406 l0 230 68 1
c66 1 67 1 68 -25 0 -14 1 -112 0 -218 0 -133 5 -210 15 -254 71 -303 408
-455 685 -308 105 57 196 171 230 289 8 27 14 119 15 235 2 105 3 212 3 238
l1 48 65 -2 c38 -1 66 -7 66 -13 1 -6 2 -105 3 -221 1 -115 6 -230 10 -255 28
-159 175 -317 336 -360 57 -16 174 -20 214 -9 17 5 43 12 58 14 76 14 214 126
263 213 58 104 64 139 64 424 l1 207 68 -2 67 -2 1 -220 c1 -122 6 -243 12
-273 47 -215 246 -372 467 -367 164 4 297 76 385 207 71 106 80 156 80 423 l0
233 70 0 70 0 1 -216 c0 -257 1 -271 29 -345 65 -173 234 -295 419 -302 221
-8 401 118 471 329 21 63 23 88 24 300 l1 231 60 6 c111 11 199 78 230 175 15
49 17 229 17 2409 -1 1838 -3 2363 -13 2393 -35 107 -134 180 -251 185 l-43 2
-1 210 c-1 272 -6 303 -57 405 -56 111 -198 217 -325 240 -245 45 -484 -106
-547 -345 -11 -45 -15 -114 -15 -285 l0 -227 -70 -1 -70 -1 0 227 c0 246 -7
298 -55 392 -56 111 -197 216 -319 239 -253 47 -499 -109 -557 -355 -7 -29
-11 -140 -11 -275 l0 -227 -69 0 -69 0 0 211 c-1 117 -3 230 -6 252 -26 187
-165 340 -354 389 -52 13 -179 14 -225 2 -144 -38 -261 -136 -319 -268 -36
-82 -39 -107 -40 -353 l-2 -230 -67 -3 c-59 -3 -67 -1 -68 15 0 10 -1 101 -1
203 1 228 -8 295 -53 385 -86 173 -243 267 -440 260 -214 -7 -387 -150 -442
-366 -5 -21 -12 -252 -13 -440 l0 -56 -67 1 -67 1 -2 230 c-1 250 -3 271 -44
360 -51 112 -158 207 -279 249 -62 22 -180 28 -250 14 -126 -27 -257 -126
-314 -240 -50 -100 -57 -143 -57 -389 l0 -227 -69 1 -69 1 0 222 c0 240 -7
292 -51 384 -51 107 -193 220 -306 245 -58 13 -181 12 -230 -1z m2380 -315
c19 -13 45 -43 56 -67 20 -40 21 -60 21 -235 0 -106 -1 -201 -1 -213 -1 -21
-5 -21 -176 -22 -159 -1 -175 0 -176 16 0 9 0 106 0 215 0 182 1 202 21 242
47 96 164 126 255 64z m1060 16 c33 -13 82 -74 92 -113 5 -20 9 -127 8 -237
l0 -200 -178 -2 -178 -2 3 227 c3 223 3 228 28 264 52 76 130 98 225 63z
m1107 -16 c15 -11 37 -36 49 -56 22 -35 23 -47 24 -248 1 -115 0 -215 -2 -221
-3 -7 -61 -11 -178 -12 l-173 0 0 216 c1 187 3 222 18 252 51 101 172 132 262
69z m1050 21 c4 0 23 -14 42 -30 59 -52 65 -82 64 -317 l0 -210 -176 1 -177 1
0 215 c0 198 1 218 20 254 36 69 117 110 184 95 20 -5 39 -9 43 -9z m-5411 -4
c19 -8 44 -25 56 -38 44 -47 50 -81 51 -288 0 -107 -1 -202 -4 -211 -4 -13
-29 -15 -178 -16 l-173 -1 1 221 c1 183 4 227 18 252 44 82 143 117 229 81z
m1076 3 c34 -12 80 -55 98 -90 10 -18 14 -83 15 -246 l1 -221 -178 2 -178 1 0
215 c1 209 2 216 25 260 42 76 136 110 217 79z m4743 -3139 l0 -2280 -3185 0
-3185 0 0 2280 0 2280 3185 0 3185 0 0 -2280z m-5713 -2783 c1 -111 -3 -219
-8 -240 -39 -149 -252 -171 -325 -35 -15 28 -18 66 -20 248 -1 118 0 218 2
222 3 4 82 7 177 7 l173 -1 1 -201z m1081 -26 l-3 -229 -31 -39 c-63 -79 -156
-96 -236 -43 -75 50 -82 78 -83 319 -1 113 0 209 2 213 2 3 82 7 179 7 l175 1
-3 -229z m1083 195 c6 -190 -1 -396 -14 -427 -30 -69 -91 -109 -167 -109 -67
0 -135 49 -160 114 -9 26 -13 157 -11 403 l1 53 175 -2 175 -1 1 -31z m1083
-186 c0 -201 -2 -218 -22 -257 -53 -102 -192 -124 -275 -45 -52 49 -57 75 -57
308 l0 213 178 -2 177 -2 -1 -215z m1081 0 c0 -241 -5 -266 -73 -318 -30 -23
-45 -27 -102 -27 -57 0 -72 4 -103 28 -68 51 -71 67 -74 302 -1 116 0 215 2
222 3 9 50 11 177 10 l173 -2 0 -215z m1083 13 c0 -113 -5 -221 -9 -238 -31
-113 -178 -162 -271 -91 -66 50 -72 75 -73 311 -1 116 0 213 2 217 2 3 81 7
177 7 l174 1 0 -207z"/>
<path d="M6175 6369 c-11 -6 -329 -320 -708 -698 -742 -741 -724 -720 -694
-793 28 -66 44 -73 193 -76 l133 -4 3 -469 3 -469 33 -32 32 -33 1043 -3 c767
-2 1049 1 1070 9 15 6 36 24 47 39 19 27 20 46 20 494 l0 466 125 0 c142 0
174 10 201 62 11 21 14 45 11 71 -5 36 -23 58 -171 206 l-166 166 0 273 c0
369 4 362 -223 362 -123 0 -137 -2 -168 -23 -37 -24 -58 -70 -58 -127 -1 -34
-8 -27 -314 278 -306 305 -314 312 -352 312 -22 0 -49 -5 -60 -11z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

20
conf.py
View File

@ -114,10 +114,23 @@ html_theme = 'alabaster'
# documentation.
#
html_theme_options = {
'github_user': 'OttoWinter',
'github_repo': 'esphomelib',
# 'logo': 'logo-full.png',
'logo_name': False,
'touch_icon': 'apple-touch-icon.png',
# 'github_user': 'OttoWinter',
# 'github_repo': 'esphomelib',
'show_related': False,
'sidebar_collapse': True,
'fixed_sidebar': True,
}
html_logo = '_static/logo-full.png'
html_favicon = '_static/favicon.ico'
html_copy_source = True
html_show_sourcelink = False
html_last_updated_fmt = None
html_use_smartypants = False
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
@ -130,8 +143,9 @@ html_static_path = ['_static']
# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
html_sidebars = {
'**': [
'relations.html', # needs 'show_related': True theme option to display
# 'about.html',
'searchbox.html',
'localtoc.html',
]
}

View File

@ -66,6 +66,7 @@ They are similar to :ref:`Sensor Filters <sensor-filters>`.
} else {
return {};
}
- heartbeat: 5s
Supported filters:
@ -81,6 +82,8 @@ Supported filters:
- **lambda**: Specify any :ref:`lambda <config-lambda>` for more complex filters. The input value from
the binary sensor is ``x`` and you can return ``true`` for ON, ``false`` for OFF, and ``{}`` to stop
the filter chain.
- **heartbeat**: Periodically send out the last received value from the binary sensor with the given
interval. All state changes are still immediately published.
Binary Sensor Automation
------------------------

View File

@ -22,7 +22,7 @@ Configuration variables:
can use the same name. It can also only contain upper/lowercase
characters, digits and underscores.
- **platform** (**Required**, string): The platform your board is on,
either ``ESP32`` or ``ESP8266``. See :ref:`using_latest_arduino_framework`.
either ``ESP32`` or ``ESP8266``. See :ref:`esphomeyaml-arduino_version`.
- **board** (**Required**, string): The board esphomeyaml should
specify for platformio. For the ESP32, choose the appropriate one
from `this list <http://docs.platformio.org/en/latest/platforms/espressif32.html#boards>`__
@ -31,22 +31,15 @@ Configuration variables:
Advanced options:
- **library_uri** (*Optional*, string): You can manually specify the
`version of esphomelib <https://github.com/OttoWinter/esphomelib/releases>`__ to
use here. Accepts all parameters of `platformio lib
install <http://docs.platformio.org/en/latest/userguide/lib/cmd_install.html#id2>`__.
Use ``https://github.com/OttoWinter/esphomelib.git`` for the latest
(unstable) build. Defaults to the latest stable version.
- **simplify** (*Optional*, boolean): Whether to simplify the
auto-generated code, i.e. whether to remove unused variables, use
``auto`` types and so on. Defaults to ``true``.
- **use_build_flags** (*Optional*, boolean): If esphomeyaml should manually set
build flags that specifically set what should be included in the binary. Most of
this is already done automatically by the linker but this option can help with
shrinking the firmware size while slowing down compilation. Defaults to ``true``.
- **esphomelib_version** (*Optional*): The version of the C++ `esphomelib framework <https://github.com/OttoWinter/esphomelib>`__
to use. See :ref:`esphomeyaml-esphomelib_version`.
- **arduino_version** (*Optional*): The version of the arduino framework to link the project against.
See :ref:`esphomeyaml-arduino_version`.
- **build_path** (*Optional*, string): Customize where esphomeyaml will store the build files
for your node. By default, esphomeyaml puts all platformio project files under a folder ``<NODE_NAME>/``,
but you can customize this behavior using this option.
- **use_custom_code** (*Optional*, boolean): Whether to configure the project for writing custom components.
This sets up some flags so that custom code should compile correctly
Automations:
@ -54,28 +47,113 @@ Automations:
when the node starts. See :ref:`esphomeyaml-on_boot`.
- **on_shutdown** (*Optional*, :ref:`Automation <automation>`): An automation to perform
right before the node shuts down. See :ref:`esphomeyaml-on_shutdown`.
- **on_loop** (*Optional*, :ref:`Automation <automation>`): An automation to perform
on each ``loop()`` iteration. See :ref:`esphomeyaml-on_loop`.
.. _using_latest_arduino_framework:
.. _esphomeyaml-esphomelib_version:
Using the latest Arduino framework version
------------------------------------------
``esphomelib_version``
----------------------
The default version of the arduino framework distributed through platformio is usually quite old
and the latest staging versions of the framework can in some cases increase stability a lot.
With the ``esphomelib_version`` parameter you can tell esphomeyaml which version of the C++ framework
to use when compiling code. For example, you can configure using the most recent (potentially unstable)
version of esphomelib straight from github. Or you can configure the use of a local copy of esphomelib
using this configuration option.
To use the latest version of the arduino framework with esphomeyaml, specify an URL pointing to
the staging version using the ``platform:`` parameter.
For the ESP32, this URL is https://github.com/platformio/platform-espressif32.git#feature/stage.
And for the ESP8266, the URL is https://github.com/platformio/platform-espressif8266.git#feature/stage.
First, you can configure the use of either the latest esphomelib stable release (``latest``),
the latest development code from GitHub (``dev``), or a specific version number (``1.8.0``).
.. code:: yaml
# Example configuration entry
esphomeyaml:
name: livingroom
platform: 'https://github.com/platformio/platform-espressif32.git#feature/stage'
board: nodemcu-32s
# ...
# Use the latest esphomelib stable release
esphomelib_version: latest
# Or use the latest code from github
esphomelib_version: dev
# Use a specific version number
esphomelib_version: 1.8.0
Alternatively, if you want to develop for esphomelib, you can download the
`latest code from GitHub <https://github.com/OttoWinter/esphomelib/archive/master.zip>`, extract the contents,
and point esphomeyaml to your local copy. Then you can modify the esphomelib to your needs or to fix bugs.
.. code:: yaml
# Example configuration entry
esphomeyaml:
# ...
# Use a local copy of esphomelib
esphomelib_version:
local: path/to/esphomelib
And last, you can make esphomeyaml use a specific branch/commit/tag from a remote git repository:
.. code:: yaml
# Example configuration entry
esphomeyaml:
# ...
# Use a specific commit/branch/tag from a remote repository
esphomelib_version:
# Repository defaults to https://github.com/OttoWinter/esphomelib.git
repository: https://github.com/OttoWinter/esphomelib.git
branch: master
esphomelib_version:
repository: https://github.com/somebody/esphomelib.git
commit: d27bac9263e8a0a5a00672245b38db3078f8992c
esphomelib_version:
repository: https://github.com/OttoWinter/esphomelib.git
tag: v1.8.0
.. _esphomeyaml-arduino_version:
``arduino_version``
-------------------
esphomelib uses the arduino framework internally to handle all low-level interactions like
initializing the WiFi driver and so on. Unfortunately, every arduino framework version often
has its own quirks and bugs, especially concerning WiFi performance. With the ``arduino_version``
option you can tell esphomeyaml which arduino framework to use for compiling.
.. code:: yaml
# Example configuration entry
esphomeyaml:
# ...
# Default: use the recommended version, usually this equals
# the latest version.
arduino_version: recommended
# Use the latest stable version
arduino_version: latest
# Use the latest staged version from GitHub, try this if you have WiFi problems
arduino_version: dev
# Use a specific version
arduino_version: 2.3.0
For the ESP8266, you currently can manually pin the arduino version to these values (see the full
list of arduino frameworks `here <https://github.com/esp8266/Arduino/releases>`__):
* `2.4.2 <https://github.com/esp8266/Arduino/releases/tag/2.4.2>`__ (the latest version)
* `2.4.1 <https://github.com/esp8266/Arduino/releases/tag/2.4.1>`__
* `2.4.0 <https://github.com/esp8266/Arduino/releases/tag/2.4.0>`__
* `2.3.0 <https://github.com/esp8266/Arduino/releases/tag/2.3.0>`__ (tasmota uses this)
.. warning::
Over-the-Air update passwords do not work with the arduino framework
version 2.3.0
For the ESP32, there's currently only one arduino framework version:
`1.0.0 <https://github.com/espressif/arduino-esp32/releases/tag/1.0.0>`__.
.. _esphomeyaml-on_boot:
@ -137,6 +215,21 @@ too many WiFi/MQTT connection attempts, Over-The-Air updates being applied or th
Configuration variables: See :ref:`Automation <automation>`.
.. _esphomeyaml-on_loop:
``on_loop``
-----------
This automation will be triggered on every ``loop()`` iteration (usually around every 16 milliseconds).
.. code:: yaml
esphomeyaml:
# ...
on_loop:
then:
# do something
See Also
--------

View File

@ -30,7 +30,7 @@ Configuration variables:
.. note::
If you're using the ESP32 and i2c frequently is showing errors in the logs, try with the latest
version of the Arduino framework. See :ref:`using_latest_arduino_framework` for information on how to do this.
version of the Arduino framework. See :ref:`esphomeyaml-arduino_version` for information on how to do this.
See Also
--------

View File

@ -77,8 +77,7 @@ slow down build times a bit:
esphomeyaml:
# ...
use_build_flags: False
simplify: False
use_custom_code: True
You've just created your first esphomelib sensor 🎉. It doesn't do very much right now and is never registered,
but it's a first step.

View File

@ -29,7 +29,8 @@ Configuration variables:
<https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html>`__ (warning: the format is quite complicated).
esphomeyaml tries to automatically infer the timezone string based on the timezone of the computer that is running
esphomeyaml, but this might not always be accurate.
- **on_time** (*Optional*, :ref:`Automation <automation>`): Automation to run at specific intervals using
a cron-like syntax. See :ref:`time-on_time`.
.. note::
@ -163,6 +164,133 @@ with the current time representation of that format option.
``%%`` A literal ``%`` character %
============= ============================================================== =========================
.. _time-on_time:
``on_time``
-----------
This powerful automation can be used to run automations at specific intervals at
specific times of day. The syntax is a subset of the `crontab <https://crontab.guru/>`__ syntax.
There are two ways to specify time intervals: Either with using the ``seconds:``, ``minutes:``, ...
keys as seen below or using a cron expression like ``* /5 * * * *``.
Basically, the automation engine looks at your configured time schedule every second and
evaluates if the automation should run.
.. code:: yaml
time:
- platform: sntp
# ...
on_time:
# Every 5 minutes
- seconds: 0
minutes: /5
then:
- switch.toggle: my_switch
# Every morning on weekdays
- seconds: 0
minutes: 30
hours: 7
days_of_week: MON-FRI
then:
- light.turn_on: my_light
# Cron syntax, trigger every 5 minutes
- cron: '* /5 * * * *'
then:
- switch.toggle: my_switch
Configuration variables:
- **seconds** (*Optional*, string): Specify for which seconds of the minute the automation will trigger.
Defaults to ``*`` (all seconds). Range is from 0 to 59.
- **minutes** (*Optional*, string): Specify for which minutes of the hour the automation will trigger.
Defaults to ``*`` (all minutes). Range is from 0 to 59.
- **hours** (*Optional*, string): Specify for which hours of the day the automation will trigger.
Defaults to ``*`` (all hours). Range is from 0 to 23.
- **days_of_month** (*Optional*, string): Specify for which days of the month the automation will trigger.
Defaults to ``*`` (all hours). Range is from 1 to 31.
- **months** (*Optional*, string): Specify for which months of the year to trigger.
Defaults to ``*`` (all months). The month names JAN to DEC are automatically substituted.
Range is from 1 (January) to 12 (December).
- **days_of_week** (*Optional*, string): Specify for which days of the week to trigger.
Defaults to ``*`` (all days). The names SUN to SAT are automatically substituted.
Range is from 1 (Sunday) to 7 (Saturday).
- **cron** (*Optional*, string): Alternatively, you can specify a whole cron expression like
``* /5 * * * *``. Please note years and some special characters like ``L``, ``#`` are currently not supported.
- See :ref:`Automation <automation>`.
In the ``seconds:``, ``minutes:``, ... fields you can use the following operators:
- .. code:: yaml
seconds: 0
An integer like ``0`` or ``30`` will make the automation only trigger if the current
second is **exactly** 0 or 30, respectively.
- .. code:: yaml
seconds: 0,30,45
You can combine multiple expressions with the ``,`` operator. This operator makes it so that
if either one of the expressions separated by a comma holds true, the automation will trigger.
For example ``0,30,45`` will trigger if the current second is either ``0`` or ``30`` or ``45``.
- .. code:: yaml
days_of_week: 2-6
# same as
days_of_week: MON-FRI
# same as
days_of_week: 2,3,4,5,6
# same as
days_of_week: MON,TUE,WED,THU,FRI
The ``-`` (hyphen) operator can be used to create a range of values and is shorthand for listing all
values with the ``,`` operator.
- .. code:: yaml
# every 5 minutes
seconds: 0
minutes: /5
# every timestamp where the minute is 5,15,25,...
seconds: 0
minutes: 5/10
The ``/`` operator can be used to create a step value. For example ``/5`` for ``minutes:`` makes an
automation trigger only when the minute of the hour is 0, or 5, 10, 15, ... The value in front of the
``/`` specifies the offset with which the step is applied.
- .. code:: yaml
# Every minute
seconds: 0
minutes: *
Lastly, the ``*`` operator matches every number. In the example above, ``*`` could for example be substituted
with ``0-59``.
.. warning::
Please note the following automation would trigger for each second in the minutes 0,5,10,15 and not
once per 5 minutes as the seconds variable is not set:
.. code:: yaml
time:
- platform: sntp
# ...
on_time:
- minutes: /5
then:
- switch.toggle: my_switch
See Also
--------

View File

@ -302,6 +302,7 @@ All Triggers
- :ref:`binary_sensor.on_double_click <binary_sensor-on_double_click>`
- :ref:`esphomeyaml.on_boot <esphomeyaml-on_boot>`
- :ref:`esphomeyaml.on_shutdown <esphomeyaml-on_shutdown>`
- :ref:`esphomeyaml.on_loop <esphomeyaml-on_loop>`
All Actions
~~~~~~~~~~~

View File

@ -13,9 +13,9 @@ Version 1.8.0
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`MAX7219`_ `LCD Display`_ `RCSwitch Integration`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|SPI Bus|_ |UART Bus|_ |RTC Time|_
|SPI Bus|_ |UART Bus|_ |Real Time Clock|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`SPI Bus`_ `UART Bus`_ `RTC Time`_
`SPI Bus`_ `UART Bus`_ `Real Time Clock`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Uptime Sensor|_ |PN532|_ |RDM6300|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
@ -66,9 +66,9 @@ Version 1.8.0
.. |UART Bus| image:: /esphomeyaml/images/uart.svg
:class: component-image
.. _UART Bus: /esphomeyaml/components/uart.html
.. |RTC Time| image:: /esphomeyaml/images/clock-outline.svg
.. |Real Time Clock| image:: /esphomeyaml/images/clock-outline.svg
:class: component-image
.. _RTC Time: /esphomeyaml/components/time.html
.. _Real Time Clock: /esphomeyaml/components/time.html
.. |Uptime Sensor| image:: /esphomeyaml/images/timer.svg
:class: component-image
.. _Uptime Sensor: /esphomeyaml/components/sensor/uptime.html
@ -138,6 +138,8 @@ This release mainly focuses on these new features:
- New :doc:`ESP32 BLE integrations </esphomeyaml/components/esp32_ble_tracker>` like :doc:`Xiaomi MiFlora </esphomeyaml/components/sensor/xiaomi_miflora>`
- Core Changes like the addition of the :ref:`SPI bus <spi>` and :ref:`UART bus <uart>`
- Lots of new ::ref:`light effects <light-effects>` and support for cold-white/warm-white lights.
- A LOGO FOR THIS PROJECT!!! Thanks a lot to `@messimore <https://github.com/messismore>`__ for
this visual masterpiece.
And if you find esphomelib great and have some of your projects using it, please do spread the word online
(like `Christoph Dahlen did <https://www.dahlen.org/2018/08/esp8266-via-esphomelib-mit-home-assistant-verbinden/>`__)
@ -147,18 +149,25 @@ awesome projects ☀️
Special thanks to all the contributors for this release:
- `@exxamalte <https://github.com/exxamalte>`__
- `@per1234 <https://github.com/per1234>`__
- `@nunofgs <https://github.com/nunofgs>`__
- `@lobradov <https://github.com/lobradov>`__
- `@janpieper <https://github.com/janpieper>`__
- `@aequitas <https://github.com/aequitas>`__
- And last but not least: `@brandond <https://github.com/brandond>`__ for his awesome work on the new
time component
- esphomeyaml: Add only-generate parameter to generate command to only generate the C++ code `#84 <https://github.com/OttoWinter/esphomeyaml/pull/84>`__ by `@apeeters <https://github.com/apeeters>`__
- esphomeyaml: Fix esphomeyaml logs for tls enabled mqtt brokers `#118 <https://github.com/OttoWinter/esphomeyaml/pull/118>`__ by `@johnerikhalse <https://github.com/johnerikhalse>`__
- esphomelib: Add Samsung IR codes `#141 <https://github.com/OttoWinter/esphomelib/pull/141>`__ by `@escoand <https://github.com/escoand>`__
- esphomelib: Add support for SNTP and RTC `#76 <https://github.com/OttoWinter/esphomelib/pull/76>`__ by `@brandond <https://github.com/brandond>`__
- esphomelib: Run travis jobs in parallel `#123 <https://github.com/OttoWinter/esphomelib/pull/123>`__ by `@lobradov <https://github.com/lobradov>`__
- esphomelib: Fix typo in dallas error message `#125 <https://github.com/OttoWinter/esphomelib/pull/125>`__ by `@janpieper <https://github.com/janpieper>`__
- esphomelib: Fix esphomelib examples `#124 <https://github.com/OttoWinter/esphomelib/pull/124>`__ by `@lobradov <https://github.com/lobradov>`__
- esphomelib: Fix panic in binary_sensor template `#111 <https://github.com/OttoWinter/esphomelib/pull/111>`__ by `@nunofgs <https://github.com/nunofgs>`__
- esphomelib: Add ESP8266 library dependency to Arduino IDE instructions `#99 <https://github.com/OttoWinter/esphomelib/pull/99>`__ by `@per1234 <https://github.com/per1234>`__
- esphomelib: Fixing I2C readings `#98 <https://github.com/OttoWinter/esphomelib/pull/98>`__ by `@exxamalte <https://github.com/exxamalte>`__
- esphomedocs: Note added about resetting the ESP after serial upload before OTA upload `#14 <https://github.com/OttoWinter/esphomedocs/pull/14>`__ by `@exxamalte <https://github.com/exxamalte>`__
- esphomedocs: Add cookbook for dual relay cover `#10 <https://github.com/OttoWinter/esphomedocs/pull/10>`__ by `@aequitas <https://github.com/aequitas>`__
And in more personal news, I'm currently getting ready for my trip to Japan 🇯🇵 to be part of team Austria
in this year's `international olympiad in informatics (IOI) <https://ioi2018.jp/>`__ (hence also the relatively
short release notes). If you'll be attending too, come say hi :)
And in some more personal news, you might have noticed that I was not very active in online communications (github, discord, ...)
and that's partly been due to me concentrating on other stuff (university applications, work and
`this year's international olympiad of informatics <http://blog.ocg.at/2018/09/dritter-blog-von-der-ioi-in-tsukuba-japan/>`__).
But admittedly I must say being constantly active online is just very exhausting. As the next few weeks (or even months)
will leave me with little time to due to the start of my studies, I plan on primarily focusing on GitHub communications.
Plus I want to put an extra focus on reviewing PRs so that code submitters don't have to wait for weeks.
Other notable changes
*********************
@ -180,12 +189,23 @@ Other notable changes
- Fixed gas resistance readings from BME680s
- Fixed HTU21D readings only working in very verbose mode
- Sometimes the ESP would create a WiFi hotspot even though it was not configured to do so. That should be fixed now.
- You can now also have conditional actions. See :ref:`if_action`.
- The esphomeyaml dashboard and HassIO add-on now can be configured with a password.
- Fixed YAML anchors not working (you can now prefix keys with ``.`` to make esphomeyaml ignore them)
- Made Dallas and DHT temperature sensor a bit more reliable by making the code a bit more efficient and thus resolving some timing issues.
- A ``heartbeat`` filter has been added to :ref:`binary sensors <binary_sensor-filters>`.
- The :ref:`esphomeyaml-on_loop` trigger has been added.
- esphomeyaml now know about more ESP8266/ESP32 boards, so now you can use the board-specific pin
names with even more board types.
- The mqtt client has a new option ``shutdown_message`` which will be sent when the board shuts down safely.
- In actions, instead of
.. code:: yaml
on_...:
switch.turn_on:
then:
- switch.turn_on:
id: my_switch
You can now write:
@ -193,15 +213,22 @@ Other notable changes
.. code:: yaml
on_...:
switch.turn_on: my_switch
- You can now also have conditional actions. See :ref:`if_action`.
- The esphomeyaml dashboard and HassIO add-on now can be configured with a password.
- Fixed YAML anchors not working (you can now prefix keys with ``.`` to make esphomeyaml ignore them)
- Made Dallas and DHT temperature sensor a bit more reliable by making the code a bit more efficient and thus resolving some timing issues.
then:
- switch.turn_on: my_switch
Or even shorter:
.. code:: yaml
on_...:
- switch.turn_on: my_switch
Breaking Changes
****************
- The :doc:`core configuration </esphomeyaml/components/esphomeyaml>` has been reworked a bit to a)
make using different arduino framework version easier and b) make editing your local esphomelib
copy easier.
- Light Effects now need to be manually declared in the config and will no longer show up automatically. Please see :ref:`light-effects`
- MAX6675 has been migrated to use the new SPI bus (and fixed!). Please see the docs for how to use it now.

View File

@ -272,6 +272,9 @@ Standard for the esphomelib codebase:
implementations.
- Please test your changes :)
For editing a local copy of esphomelib within the esphomeyaml ecosystem please see
:ref:`esphomeyaml.esphomelib_version <esphomeyaml-esphomelib_version>`option.
Contributing to esphomeyaml
^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -71,7 +71,7 @@ That's no good. Here are some steps that resolve some problems:
- **Clean the platformio cache**: Sometimes the build cache leaves behind some weird artifacts. Try running
``platformio run -d <NAME_OF_NODE> -t clean``.
- **Try with the latest Arduino framework version**:
See :ref:`this <using_latest_arduino_framework>`.
See :ref:`this <esphomeyaml-arduino_version>`.
- **Still an error?** Please file a bug report over in the `esphomelib issue tracker <https://github.com/OttoWinter/esphomelib/issues>`__.
I will take a look at it as soon as I can. Thanks!
@ -123,18 +123,18 @@ takes up to 2 hours!). To install the dev version of esphomeyaml:
- From docker: Run ``docker pull ottowinter/esphomeyaml:dev`` and use ``ottowinter/esphomeyaml:dev`` in all
commands.
Next, if you want to use the latest version of esphomelib too:
Next, if you want to use the latest version of the esphomelib C++ framework too:
.. code::
# Sample configuration entry
esphomeyaml:
name: ...
library_uri: 'https://github.com/OttoWinter/esphomelib.git'
esphomelib_version: dev
# ...
In some cases it's also a good idea to use the latest Arduino framework version. See
:ref:`this <using_latest_arduino_framework>`.
:ref:`this <esphomeyaml-arduino_version>`.
Does esphomelib support [this device/feature]?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -166,7 +166,7 @@ Some steps that can help with the issue:
- Use the most recent version of th arduino framework. The platformio arduino package
always takes some time to update and the most recent version often includes some awesome
patches. See :ref:`using_latest_arduino_framework`.
patches. See :ref:`esphomeyaml-arduino_version`.
- The issue seems to be happen with cheap boards more frequently. Especially the "cheap" NodeMCU
boards from eBay sometimes have quite bad antennas.
- Play around with the ``keepalive`` option of the :doc:`MQTT client </esphomeyaml/components/mqtt>`, sometimes

View File

@ -8,7 +8,7 @@ RCSwitch Integration, components/switch/remote_transmitter.html#rcswitch-remote-
SPI Bus, components/spi, spi.svg
UART Bus, components/uart, uart.svg
RTC Time, components/time, clock-outline.svg
Real Time Clock, components/time, clock-outline.svg
Uptime Sensor, components/sensor/uptime, timer.svg
PN532, components/pn532, pn532.jpg

1 Waveshare E-Paper components/display/waveshare_epaper waveshare_epaper.jpg
8 UART Bus components/uart uart.svg
9 RTC Time Real Time Clock components/time clock-outline.svg
10 Uptime Sensor components/sensor/uptime timer.svg
11 PN532 components/pn532 pn532.jpg
12 RDM6300 components/rdm6300 rdm6300.jpg
13 BLE RSSI components/sensor/ble_rssi bluetooth.svg
14 Xiaomi MiFlora components/sensor/xiaomi_miflora xiaomi_miflora.jpg