Updates
BIN
_static/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
_static/favicon-16x16.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
_static/favicon-32x32.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
_static/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
_static/logo-full.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
_static/logo.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
84
_static/safari-pinned-tab.svg
Normal 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
@ -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',
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
------------------------
|
||||
|
@ -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
|
||||
--------
|
||||
|
||||
|
@ -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
|
||||
--------
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
--------
|
||||
|
||||
|
@ -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
|
||||
~~~~~~~~~~~
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
|