Preparations for 1.5.0

This commit is contained in:
Otto Winter 2018-05-14 21:15:49 +02:00
parent 07ddde788c
commit e0ddcddd78
No known key found for this signature in database
GPG Key ID: DB66C0BE6013F97E
82 changed files with 1162 additions and 117 deletions

View File

@ -9,9 +9,7 @@ SOURCEDIR = .
BUILDDIR = _build
ESPHOMELIB_PATH = ../esphomelib
html:
# ESPHOMELIB_PATH=$(ESPHOMELIB_PATH) doxygen Doxygen
$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
cleanhtml:
@ -20,7 +18,10 @@ cleanhtml:
minifyhtml: html
./minify.sh
deploy: cleanhtml html minifyhtml
doxyg:
ESPHOMELIB_PATH=$(ESPHOMELIB_PATH) doxygen Doxygen
deploy: doxyg cleanhtml html minifyhtml
touch "$(BUILDDIR)/html/.nojekyll"
echo "esphomelib.com" >"$(BUILDDIR)/html/CNAME"
cd "$(BUILDDIR)/html" && git add --all && git commit -m "Deploy to gh-pages"

View File

@ -11,7 +11,7 @@ Example Usage
touch->set_iir_filter(1000);
App.register_binary_sensor(touch_hub->make_touch_pad("ESP32 Touch Pad 9", TOUCH_PAD_NUM9, 1000));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_esp32_touch_component`.

View File

@ -11,7 +11,7 @@ Example Usage
// Custom pinMode
App.make_gpio_binary_sensor("Window Open", GPIOInputPin(36, INPUT_PULLUP));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_gpio_binary_sensor`.

View File

@ -30,7 +30,7 @@ Example Usage
App.make_gpio_binary_sensor("Window Open", 36);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::register_binary_sensor` and :cpp:func:`Application::make_gpio_binary_sensor`.

View File

@ -11,7 +11,7 @@ Example Usage
App.make_status_binary_sensor("Livingroom Node Status");
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_status_binary_sensor`.

View File

@ -1,7 +1,7 @@
Application
===========
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
The :cpp:class:`Application` class has two objectives: 1. handle all of
your :cpp:class:`Component`\ s and 2. provide helper methods to simplify creating a component.

View File

@ -1,8 +1,6 @@
Controller
==========
.. cpp:namespace:: Controller
API Reference
-------------
@ -11,7 +9,7 @@ API Reference
Controller
**********
.. doxygenclass:: Component
.. doxygenclass:: Controller
:members:
:protected-members:
:undoc-members:

View File

@ -23,7 +23,7 @@ Example Usage
oscillating_fan.output->set_binary(App.make_gpio_output(34));
oscillating_fan.output->set_oscillation(App.make_gpio_output(35));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_fan`.

32
api/light/fastled.rst Normal file
View File

@ -0,0 +1,32 @@
FastLED Light Output
====================
Since version 1.4.0 esphomelib supports many types of addressable LEDs using the FastLED
library.
Example Usage
-------------
.. code-block:: cpp
// Binary
auto fast_led = App.make_fast_led_light("Fast LED Light");
// 60 NEOPIXEL LEDS on pin GPIO23
fast_led.fast_led->add_leds<NEOPIXEL, 23>(60);
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_fast_led_light`.
API Reference
-------------
.. cpp:namespace:: nullptr
FastLEDLightOutputComponent
***************************
.. doxygenclass:: light::FastLEDLightOutputComponent
:members:
:protected-members:
:undoc-members:

View File

@ -7,6 +7,9 @@ Lights in esphomelib are implemented like fans. Both the hardware and the MQTT f
access a combined :cpp:class:`LightState` object and use only that to set state and receive
state updates.
.. toctree::
fastled.rst
Example Usage
-------------
@ -20,7 +23,7 @@ Example Usage
App.make_rgb_light("RGB Lights", red, green, blue);
App.make_rgbw_light("RGBW Lights", red, green, blue, white);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_binary_light`, :cpp:func:`Application::make_monochromatic_light`,
:cpp:func:`Application::make_rgb_light`, :cpp:func:`Application::make_rgbw_light`.

23
api/misc/debug.rst Normal file
View File

@ -0,0 +1,23 @@
Debug Component
===============
Example Usage
-------------
.. code-block:: cpp
App.make_debug_component();
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_debug_component`.
API Reference
-------------
.. cpp:namespace:: nullptr
.. doxygenclass:: DebugComponent
:members:
:protected-members:
:undoc-members:

View File

@ -12,7 +12,7 @@ Example Usage
0xAC, 0x37, 0x43, 0x77, 0x5F, 0x4C
}));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_esp32_ble_tracker`.

View File

@ -4,3 +4,4 @@ Miscellaneous Components
.. toctree::
PCF8574 <pcf8574>
ESP32 Bluetooth Low Energy Tracker <esp32_ble_tracker>
Debug Component <debug>

View File

@ -17,7 +17,7 @@ Example Usage
auto *out = App.make_gpio_output(pcf8574->make_output_pin(2));
App.make_binary_light("PCF pin 2 light", out);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_pcf8574_component`.

View File

@ -17,7 +17,7 @@ Example Usage
// Advanced: Setting a custom frequency globally
analogWriteFreq(500);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_esp8266_pwm_output`.

View File

@ -11,7 +11,7 @@ Example Usage
// Custom pinMode
App.make_gpio_output(GPIOOutputPin(33, OUTPUT_OPEN_DRAIN));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_gpio_output` (and :cpp:func:`Application::make_gpio_switch`).

View File

@ -11,7 +11,7 @@ Example Usage
// Custom Frequency
App.make_ledc_output(33, 2000.0);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_ledc_output`.

View File

@ -11,7 +11,7 @@ Example Usage
// Create the PCA9685 Output hub with frequency 500Hz.
auto *pca9685 = App.make_pca9685_component(500.0f);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_pca9685_component`.

View File

@ -16,7 +16,7 @@ Example Usage
auto adc = App.make_adc_sensor("Analog Voltage", 13);
adc.adc.set_attenuation(ADC_11db);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_adc_sensor`.

View File

@ -39,7 +39,7 @@ Doing so requires some steps:
auto *sensor = ads1115->get_sensor("ADS1115 Voltage #1", ADS1115_MUX_P0_N1, ADS1115_PGA_6P144);
App.register_sensor(sensor);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_ads1115_component`.

View File

@ -22,7 +22,7 @@ Example Usage
// default resolution is 0.5 LX
bh1750.bh1750->set_resolution(sensor::BH1750_RESOLUTION_1P0_LX);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_bh1750_sensor`.

View File

@ -26,7 +26,7 @@ Example Usage
bme280.bme280->set_humidity_oversampling(sensor::BME280_OVERSAMPLING_4X);
bme280.bme280->set_pressure_oversampling(sensor::BME280_OVERSAMPLING_16X);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_bme280_sensor`.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -26,7 +26,7 @@ Example Usage
// set heater to 200°C for 100ms, default is off
bme680.bme680->set_heater(200, 100);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_bme680_sensor`.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -21,7 +21,7 @@ Example Usage
// create sensors
App.make_bmp085_sensor("Outside Temperature", "Outside Pressure");
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_bmp085_sensor`.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -25,7 +25,7 @@ Example Usage
// By index
App.register_sensor(dallas->get_sensor_by_index("Ambient Temperature", 0));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_dallas_component` and :cpp:func:`Application::register_sensor`.

View File

@ -9,7 +9,7 @@ Example Usage
// Basic
App.make_dht_sensor("Outside Temperature", "Outside Humidity", 12);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_dht_sensor`.

View File

@ -17,7 +17,7 @@ Example Usage
// create sensors
App.make_hdc1080_sensor("Outside Temperature", "Outside Humidity");
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_hdc1080_sensor`.

View File

@ -17,7 +17,7 @@ Example Usage
// create sensors
App.make_htu21d_sensor("Outside Temperature", "Outside Humidity");
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_htu21d_sensor`.

View File

@ -3,7 +3,7 @@ Sensor
The `sensor` namespace contains all sensors.
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::register_sensor`.
@ -25,6 +25,7 @@ See :cpp:func:`Application::register_sensor`.
bme280.rst
bme680.rst
sht3xd.rst
bh1750.rst
API Reference

View File

@ -28,7 +28,7 @@ Example Usage
App.register_sensor(mpu6050->make_gyro_z_sensor("MPU6050 Gyro Z"));
App.register_sensor(mpu6050->make_temperature_sensor("MPU6050 Temperature"));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_mpu6050_sensor`.

View File

@ -19,7 +19,7 @@ Example Usage
strom_warme.mqtt->clear_filters();
strom_warme.mqtt->add_multiply_filter(0.06f); // convert from Wh pulse to kW
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_pulse_counter_sensor`.

View File

@ -22,7 +22,7 @@ Example Usage
// default accuracy is high
sht3xd.sht3xd->set_accuracy(sensor::SHT3XD_ACCURACY_LOW);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_sht3xd_sensor`.

View File

@ -24,7 +24,7 @@ Example Usage
// set a higher gain for low light conditions, default: 1x
tsl2561.tsl2561->set_gain(sensor::TSL2561_GAIN_16X);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_tsl2561_sensor`.

View File

@ -16,7 +16,7 @@ Example Usage
// Set timeout, 4 meters
ultrasonic.sensor->set_timeout_m(4.0f);
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_ultrasonic_sensor`.

View File

@ -16,7 +16,7 @@ Example Usage
App.register_switch(panasonic_on);
App.register_switch(ir->create_transmitter("Panasonic TV Volume Up", SendData::from_panasonic(0x4004, 0x1000405)));
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_ir_transmitter` and :cpp:func:`Application::register_switch`.

View File

@ -10,7 +10,7 @@ Example Usage
App.make_restart_switch("Livingroom Restart");
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_restart_switch`.

View File

@ -14,7 +14,7 @@ Example Usage
App.make_shutdown_switch("Livingroom Shutdown");
.. cpp:namespace:: esphomelib
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_shutdown_switch`.

BIN
esphomeyaml/bh1750.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M17.71 7.71L12 2h-1v7.59L6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 11 14.41V22h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 5.83l1.88 1.88L13 9.59V5.83zm1.88 10.46L13 18.17v-3.76l1.88 1.88z"/>
</svg>

After

Width:  |  Height:  |  Size: 325 B

BIN
esphomeyaml/bme280.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
esphomeyaml/bme680.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 602 B

View File

@ -26,12 +26,9 @@ Configuration variables:
- **address** (**Required**, int): The i²c address of the sensor. See
`I²C Addresses <#i2c-addresses>`__ for more information.
- **rate** (*Optional*, int): The internal rate the sensor is using for
its conversions in the unit samples per second. One of ``8``, ``16``,
``32``, ``64``, ``128``, ``250``, ``475``, ``860``. Defaults to
``128``.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID for this ADS1115 Hub. Use this if you want to use multiple ADS1115 hubs at once.
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID for this ADS1115 Hub. Use this if you
want to use multiple ADS1115 hubs at once.
I²C Addresses
~~~~~~~~~~~~~

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,64 @@
ESP32 Bluetooth Low Energy Device
=================================
The ``esp32_ble`` binary sensor platform lets you track the presence of a
bluetooth low energy device.
.. note::
See the `ESP32 BLE Hub Page </esphomeyaml/components/esp32_ble.html>`__ for
current limitations of this platform
|image0|
.. code:: yaml
# Example configuration entry
esp32_ble:
scan_interval: 300s
binary_sensor:
- platform: esp32_ble
mac_address: AC:37:43:77:5F:4C
name: "ESP32 BLE Tracker Google Home Mini"
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **mac_address** (**Required**, MAC Address): The MAC address to track for this
binary sensor.
- **name** (**Required**, string): The name of the binary sensor.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation.
- All other options from `Binary
Sensor </esphomeyaml/components/binary_sensor/index.html#base-binary-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
Setting Up Devices
~~~~~~~~~~~~~~~~~~
To set up binary sensors for specific BLE beacons you first have to know which MAC address
to track. Most devices show this screen in some setting menu. If you don't know the MAC address,
however, you can use the ``esp32_ble`` hub without any binary sensors attached and read through
the logs to see discovered Bluetooth Low Energy devices.
.. code:: yaml
# Example configuration entry for finding MAC addresses
esp32_ble:
Using above configuration, first you should see a ``Starting scan...`` debug message at
boot-up. Then, when a BLE device is discovered, you should see messages like
``Found device AC:37:43:77:5F:4C RSSI=-80`` together with some information about their
address type and advertised name. If you don't see these messages, your device is unfortunately
currently not supported.
Please note that devices that show a ``RANDOM`` address type in the logs cannot be used for
tracking, since their MAC-address periodically changes.
.. |image0| image:: /esphomeyaml/components/binary_sensor/esp32_ble.png
:class: align-center
:width: 80.0%

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,99 @@
ESP32 Touch Pad Binary Sensor
=============================
The ``esp32_touch`` binary sensor platform lets you use the touch peripheral of the
ESP32 to detect if a certain pin is being "touched".
First, you need to setup the `global touch hub </esphomeyaml/components/esp32_touch.html>`__. Then
you can add individual touch pads as binary sensors. When a touch is detected on these pins, the binary
sensor will report an ``ON`` state. And, of course, if no touch is detected, the binary sensor will report
an ``OFF`` state.
|image0|
.. code:: yaml
# Example configuration entry
esp32_touch:
binary_sensor:
- platform: esp32_touch
name: "ESP32 Touch Pad GPIO27"
pin: GPIO27
threshold: 1000
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **pin** (**Required**, `pin </esphomeyaml/configuration-types.html#pin>`__): The pin to detect touch
events on.
- **threshold** (**Required**, int): The threshold to use to detect touch events. Smaller values mean
a higher probability that the pad is being touched.
- **name** (**Required**, string): The name of the binary sensor.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation.
- All other options from `Binary
Sensor </esphomeyaml/components/binary_sensor/index.html#base-binary-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
Touch Pad Pins
~~~~~~~~~~~~~~
8 pins on the ESP32 can be used to detect touches. These are (in the default "raw" pin names):
- ``GPIO0``
- ``GPIO2``
- ``GPIO4``
- ``GPIO12``
- ``GPIO13``
- ``GPIO14``
- ``GPIO15``
- ``GPIO27``
- ``GPIO32``
- ``GPIO33``
Finding thresholds
~~~~~~~~~~~~~~~~~~
For each touch pad you want to monitor, you need to find a threshold first. This threshold is
used to determine if a pad is being touched or not using the raw values from the sensor. Lower
raw values mean that it is more likely that a touch is happening. For example, values around
1000 to 1600 usually mean the pad is not being touched, and values in the range of 600 and less
mean the pad is probably being touched.
To find suitable threshold values, first configure the `ESP32 touch hub </esphomeyaml/components/esp32_touch.html>`__
to output measured values using the ``setup_mode:`` configuration option. Next, add some binary sensors
for the touch pads you want to observe. Also put some threshold in the configuration as seen below
to make the validator happy, we are going to find good thresholds in a moment anyway.
.. code:: yaml
# Example configuration entry for finding threshold values
esp32_touch:
setup_mode: True
binary_sensor:
- platform: esp32_touch
name: "ESP32 Touch Pad GPIO27"
pin: GPIO27
threshold: 1000
Then upload the program and open the logs, you will see values like these. Try touching the pins
and you will (hopefully) see the value decreasing a bit. Play around with different amounts of
force you put on the touch pad until you find a good value that can differentiate between
touch/non-touch events.
|image1|
Finally, put your threshold parameter in the configuration. Do not forget to disable the ``setup_mode``
option again by setting it to ``False``. Otherwise you will end up spamming the logs and slowing the device
down.
.. |image0| image:: /esphomeyaml/components/binary_sensor/esp32_touch.png
:class: align-center
:width: 80.0%
.. |image1| image:: /esphomeyaml/components/binary_sensor/esp32_touch_finding_thresholds.png
:class: align-center

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,43 @@
ESP32 Bluetooth Low Energy Hub
==============================
The ``esp32_ble`` component creates a global hub so that you can track bluetooth low
energy devices using your ESP32 node.
Currently this component only works with few supported bluetooth devices (most of them
being BLE "beacons") and currently only is capable of creating binary sensors indicating
whether a specific BLE MAC Address can be found or not.
In the future, this integration will be expanded to support reading RSSI values and hopefully
support lots more devices like tracking smartphones and reading temperature values from BLE sensors.
.. note::
Be warned: This integration is currently not very stable and sometimes causes sporadic
restarts of the node. Additionally, using this integration will increase the required
flash memory size by up to 500kB.
See `Setting up devices </esphomeyaml/components/binary_sensor/esp32_ble.html#setting-up-devices>`__
for information on how you can find out the MAC address of a device and track it using esphomelib.
.. code:: yaml
# Example configuration entry
esp32_ble:
scan_interval: 300s
binary_sensor:
- platform: esp32_ble
mac_address: AC:37:43:77:5F:4C
name: "ESP32 BLE Tracker Google Home Mini"
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **scan_interval** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): The length of each scan.
If a device is not found within this time window, it will be marked as not present. Defaults to 300s.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID for this ADS1115 Hub. Use this if you
want to use multiple ADS1115 hubs at once.

View File

@ -0,0 +1,50 @@
ESP32 Touch Pad Hub
===================
The ``esp32_touch`` component creates a global hub for detecting touches on
the eight touch pads of the ESP32 as `binary senors </esphomeyaml/components/binary_sensor/esp32_touch.html>`__.
.. code:: yaml
# Example configuration entry
esp32_touch:
setup_mode: False
binary_sensor:
- platform: esp32_touch
name: "ESP32 Touch Pad GPIO27"
pin: GPIO27
threshold: 1000
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **setup_mode** (*Optional*, boolean): Whether debug messages with the touch pad value should
be displayed in the logs. Useful for finding out suitable thresholds for the binary sensors, but
spam the logs. See `setting up touch pads </esphomeyaml/components/binary_sensor/esp32_touch.html>`__
for more information. Defaults to false.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID for this ADS1115 Hub. Use this if you
want to use multiple ADS1115 hubs at once.
Advanced options (the defaults are usually quite good, but if you're having accuracy issues, use these):
- **iir_filter** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): Optionally set up an
`Infinite Impulse Response <https://en.wikipedia.org/wiki/Infinite_impulse_response>`__
filter should be applied to all touch pads. This can increase the accuracy of the touch pads a lot, but
higher values decrease the response time. A good value to start with is ``10ms``. Default is no IIR filter.
- **sleep_duration** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): Set a time period
denoting the amount of time the touch peripheral should sleep between measurements. This can decrease
power usage but make the sensor slower. Default is about 27 milliseconds.
- **measurement_duration** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): Set the conversion
time for all touch pads. A longer conversion time means that more charge/discharge cycles of the touch pad
can be performed, therefore increasing accuracy. Default is about 8ms, the maximum amount.
- **low_voltage_reference** (*Optional*): The low voltage reference to use for the charge cycles. See
the `esp-idf docs <https://esp-idf.readthedocs.io/en/latest/api-reference/peripherals/touch_pad.html#optimization-of-measurements>`__
for a nice explanation of this. One of ``0.5V``, ``0.6V``, ``0.7V``, ``0.8V``. Default is ``0.5V``.
- **high_voltage_reference** (*Optional*): The high voltage reference to use for the charge cycles. See
the `esp-idf docs <https://esp-idf.readthedocs.io/en/latest/api-reference/peripherals/touch_pad.html#optimization-of-measurements>`__
for a nice explanation of this. One of ``2.4V``, ``2.5V``, ``2.6V``, ``2.7V``. Default is ``2.7V``.
- **voltage_attenuation** (*Optional*): The voltage attenuation to use for the charge cycles. See
the `esp-idf docs <https://esp-idf.readthedocs.io/en/latest/api-reference/peripherals/touch_pad.html#optimization-of-measurements>`__
for a nice explanation of this. One of ``1.5V``, ``1V``, ``0.5V``, ``0V``. Default is ``0V``.

View File

@ -23,6 +23,8 @@ Configuration variables:
characters, digits and underscores.
- **platform** (**Required**, string): The platform your board is on,
either ``ESP32`` or ``ESP8266``.
See `using the latest arduino framework version <#using-the-latest-arduino-framework-version>`__.
for other options.
- **board** (**Required**, string): The board esphomeyaml should
specify for platformio. For the ESP32, choose the appropriate one
from `this
@ -36,11 +38,31 @@ Configuration variables:
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 ``esphomelib``.
(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 ``false``.
shrinking the firmware size while slowing down compilation. Defaults to ``true``.
Using the latest Arduino framework 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.
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.
.. code:: yaml
# Example configuration entry
esphomeyaml:
name: livingroom
platform: 'https://github.com/platformio/platform-espressif32.git#feature/stage'
board: nodemcu-32s

View File

@ -12,6 +12,14 @@ for several other components:
|HDC1080|_ |HTU21D|_ |MPU6050|_
----------------------- ----------------------- -----------------------
`HDC1080`_ `HTU21D`_ `MPU6050`_
----------------------- ----------------------- -----------------------
|BH1750|_ |BME280|_ |BME680|_
----------------------- ----------------------- -----------------------
`BH1750`_ `BME280`_ `BME680`_
----------------------- ----------------------- -----------------------
|TSL2561|_ |SHT3X-D|_
----------------------- ----------------------- -----------------------
`TSL2561`_ `SHT3X-D`_
======================= ======================= =======================
.. |PCA9685 PWM| image:: /esphomeyaml/pca9685.jpg
@ -38,6 +46,27 @@ for several other components:
:class: component-image
.. _MPU6050: /esphomeyaml/components/sensor/mpu6050.html
.. |BH1750| image:: /esphomeyaml/bh1750.jpg
:class: component-image
.. _BH1750: /esphomeyaml/components/sensor/bh1750.html
.. |BME280| image:: /esphomeyaml/bme280.jpg
:class: component-image
.. _BME280: /esphomeyaml/components/sensor/bme280.html
.. |BME680| image:: /esphomeyaml/bme680.jpg
:class: component-image
.. _BME680: /esphomeyaml/components/sensor/bme680.html
.. |TSL2561| image:: /esphomeyaml/tsl2561.jpg
:class: component-image
.. _TSL2561: /esphomeyaml/components/sensor/tsl2561.html
.. |SHT3X-D| image:: /esphomeyaml/sht3xd.jpg
:class: component-image
.. _SHT3X-D: /esphomeyaml/components/sensor/sht3xd.html
In order for those components to work correctly, you need to define the
i²c bus in your configuration.
@ -61,6 +90,14 @@ Configuration variables:
- **scan** (*Optional*, boolean): If esphomelib should do a search of the i2c address space on startup.
Note that this can slow down startup and is only recommended for when setting up new sensors. Defaults to
``False``.
- **frequency** (*Optional*, float): Only on ESP32. Set the frequency
the i²c bus should operate on. Defaults to “100kHz”. Accepts most
metric suffixes.
- **frequency** (*Optional*, float): Set the frequency
the i²c bus should operate on. Defaults to “100kHz”.
- **receive_timeout** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): Advanced: Set a timeout
for operations on the i2c bus. Defaults to 100ms.
.. 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
`using the latest arduino framework version </esphomeyaml/components/esphomeyaml.html#using-the-latest-arduino-framework-version>`__
for information on how to do this.

View File

@ -1,14 +1,17 @@
ESP32 IR Transmitter Component
==============================
IR Transmitter Component
========================
The IR transmitter component lets you use the `remote
peripheral <https://esp-idf.readthedocs.io/en/latest/api-reference/peripherals/rmt.html>`__
on your ESP32 to send infrared messages to control devices in your home.
The IR transmitter component lets you send infrared messages to control devices in your home.
First, you need to setup a global hub that specifies which pin your IR
led is connected to. Afterwards you can create `individual
switches </esphomeyaml/components/switch/ir_transmitter.html>`__ that
each send a pre-defined IR code to a device.
.. note::
This component is *much* more accurate on the ESP32, since that chipset has a dedicated
peripheral for sending exact signal sequences.
.. code:: yaml
# Example configuration entry
@ -33,7 +36,7 @@ Configuration variables:
IR LED.
- **carrier_duty_percent** (*Optional*, int): The duty percentage of
the carrier. 50 for example means that the LED will be on 50% of the
time. Must be in range from 0 to 100. Defaults to 50.
time. Must be in range from 1 to 100. Defaults to 50.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation. Use this if you have multiple IR

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,97 @@
FastLED Clockless Light
=======================
The ``fastled_clockless`` light platform allows you to create RGB lights
in esphomelib for a `number of supported chipsets <#supported-chipsets>`__.
Clockless FastLED lights differ from the
`FastLED SPI lights </esphomeyaml/components/fastled_spi.html>`__ in that they only have
a single data wire to connect, and not separate data and clock wires.
|image0|
.. code:: yaml
# Example configuration entry
light:
- platform: fastled_clockless
chipset: WS2811
pin: GPIO23
num_leds: 60
rgb_order: BRG
name: "FastLED WS2811 Light"
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **name** (**Required**, string): The name of the light.
- **chipset** (**Required**, string): Set a chipset to use.
See `Supported Chipset <#supported-chipsets>`__ for options.
- **pin** (**Required**, `pin </esphomeyaml/configuration-types.html#pin>`__): The pin for
the data line of the FastLED light.
- **num_leds** (**Required**, int): The number of LEDs attached.
- **rgb_order** (*Optional*, string): The order of the RGB channels. Use this if your
light doesn't seem to map the RGB light channels correctly. For example if your light
shows up green when you set a red color through the frontend. Valid values are ``RGB``,
``RBG``, ``GRB``, ``GBR``, ``BRG`` and ``BGR``. Defaults to ``RGB``.
- **max_refresh_rate** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__):
A time interval used to limit the number of commands a light can handle per second. For example
16ms will limit the light to a refresh rate of about 60Hz. Defaults to the default value for the used chipset.
- **gamma_correct** (*Optional*, float): The `gamma correction
factor <https://en.wikipedia.org/wiki/Gamma_correction>`__ for the
light. Defaults to ``2.8``.
- **default_transition_length** (*Optional*,
`time </esphomeyaml/configuration-types.html#time>`__): The length of
the transition if no transition parameter is provided by Home
Assistant. Defaults to ``1s``.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation.
- All other options from `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
Supported Chipsets
~~~~~~~~~~~~~~~~~~
- ``NEOPIXEL``
- ``WS2811``
- ``WS2811_400`` (``WS2811`` with a clock rate of 400kHz)
- ``WS2812B``
- ``WS2812``
- ``WS2813``
- ``WS2852``
- ``APA104``
- ``APA106``
- ``GW6205``
- ``GW6205_400`` (``GW6205`` with a clock rate of 400kHz)
- ``LPD1886``
- ``LPD1886_8BIT`` (``LPD1886`` with 8-bit color channel values)
- ``PL9823``
- ``SK6812``
- ``SK6822``
- ``TM1803``
- ``TM1804``
- ``TM1809``
- ``TM1829``
- ``UCS1903B``
- ``UCS1903``
- ``UCS1904``
- ``UCS2903``
Light Effects
~~~~~~~~~~~~~
Currently, only a rainbow effect is supported. In the future, more light effects will be added
and supported out-of-the box. Creating custom effects is, however, quite easy with esphomelib.
See the `fastled example <https://github.com/OttoWinter/esphomelib/blob/master/examples/fastled.cpp>`__
in the esphomelib repository for a simple example.
|image1|
.. |image0| image:: /esphomeyaml/components/light/fastled_clockless.png
:class: align-center
:width: 60.0%
.. |image1| image:: /esphomeyaml/components/light/fastled_effect.png
:class: align-center
:width: 30.0%

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,85 @@
FastLED SPI Light
=================
The ``fastled_spi`` light platform allows you to create RGB lights
in esphomelib for a `number of supported chipsets <#supported-chipsets>`__.
SPI FastLED lights differ from the
`FastLED Clockless lights </esphomeyaml/components/fastled_clockless.html>`__ in that they require
two pins to be connected, one for a data and one for a clock signal whereas the clockless lights
only need a single pin.
|image0|
.. code:: yaml
# Example configuration entry
light:
- platform: fastled_spi
chipset: WS2801
data_pin: GPIO23
clock_pin: GPIO22
num_leds: 60
rgb_order: BRG
name: "FastLED SPI Light"
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **name** (**Required**, string): The name of the light.
- **chipset** (**Required**, string): Set a chipset to use.
See `Supported Chipset <#supported-chipsets>`__ for options.
- **data_pin** (**Required**, `pin </esphomeyaml/configuration-types.html#pin>`__): The pin for
the data line of the FastLED light.
- **clock_pin** (**Required**, `pin </esphomeyaml/configuration-types.html#pin>`__): The pin for
the clock line of the FastLED light.
- **num_leds** (**Required**, int): The number of LEDs attached.
- **rgb_order** (*Optional*, string): The order of the RGB channels. Use this if your
light doesn't seem to map the RGB light channels correctly. For example if your light
shows up green when you set a red color through the frontend. Valid values are ``RGB``,
``RBG``, ``GRB``, ``GBR``, ``BRG`` and ``BGR``. Defaults to ``RGB``.
- **max_refresh_rate** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__):
A time interval used to limit the number of commands a light can handle per second. For example
16ms will limit the light to a refresh rate of about 60Hz. Defaults to the default value for the used chipset.
- **gamma_correct** (*Optional*, float): The `gamma correction
factor <https://en.wikipedia.org/wiki/Gamma_correction>`__ for the
light. Defaults to ``2.8``.
- **default_transition_length** (*Optional*,
`time </esphomeyaml/configuration-types.html#time>`__): The length of
the transition if no transition parameter is provided by Home
Assistant. Defaults to ``1s``.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation.
- All other options from `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
Supported Chipsets
~~~~~~~~~~~~~~~~~~
- ``APA102``
- ``DOTSTAR``
- ``LPD8806``
- ``P9813``
- ``SK9822``
- ``SM16716``
- ``WS2801``
- ``WS2803``
Light Effects
~~~~~~~~~~~~~
Currently, only a rainbow effect is supported. In the future, more light effects will be added
and supported out-of-the box. Creating custom effects is, however, quite easy with esphomelib.
See the `fastled example <https://github.com/OttoWinter/esphomelib/blob/master/examples/fastled.cpp>`__
in the esphomelib repository for a simple example.
|image1|
.. |image0| image:: /esphomeyaml/components/light/fastled_spi.png
:class: align-center
:width: 60.0%
.. |image1| image:: /esphomeyaml/components/light/fastled_effect.png
:class: align-center
:width: 30.0%

View File

@ -43,6 +43,7 @@ Possible log levels are (sorted by severity):
- ``INFO``
- ``DEBUG``
- ``VERBOSE``
- ``VERY_VERBOSE``
Manual Tag-Specific Log Levels
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -35,6 +35,3 @@ Configuration variables:
1526Hz.
- **address** (*Optional*, int): The I²C address of the driver.
Defaults to ``0x00``.
- **phase_balancer** (*Optional*): The phase balancer to balance the
phases of several channels. One of ``None``, ``Linear`` or
``Weaved``. Defaults to ``None``.

View File

@ -20,7 +20,7 @@ not work.
:target: `Sparkfun`_
:width: 50.0%
PCF8574 16-Bit ADC. Image by `Sparkfun`_.
PCF8574 I/O Expander. Image by `Sparkfun`_.
.. _Sparkfun: https://www.sparkfun.com/products/retired/8130
@ -37,7 +37,9 @@ not work.
- platform: gpio
name: "PCF8574 Pin #0"
pin:
number: pcf8574_hub.0
pcf8574: pcf8574_hub
# Use pin number 0
number: 0
# One of INPUT, INPUT_PULLUP or OUTPUT
mode: INPUT
inverted: False

View File

@ -42,3 +42,16 @@ Configuration variables:
.. |image0| image:: /esphomeyaml/components/sensor/adc.png
:class: align-center
:width: 80.0%
ESP32 Attenuation
~~~~~~~~~~~~~~~~~
On the ESP32, the voltage measured with the ADC caps out at 1.1V by default as the sensing range
or the attenuation of the ADC is set to ``0db`` by default.
To measure voltages higher than 1.1V, set ``attenuation`` to one of the following values:
- ``0db`` for a full-scale voltage of 1.1V (default)
- ``2.5db`` for a full-scale voltage of 1.5V
- ``6db`` for a full-scale voltage of 2.2V
- ``11db`` for a full-scale voltage of 3.9V

View File

@ -36,10 +36,12 @@ voltage to Home Assistant.
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **multiplexer** (**Required**): The multiplexer channel of this sensor. Effectively means between which pins you want to measure voltage.
- **multiplexer** (**Required**): The multiplexer channel of this sensor. Effectively means between which pins you
want to measure voltage.
- **gain** (**Required**, float): The gain of this sensor.
- **name** (**Required**, string): The name for this sensor.
- **ads1115_id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID of the `ADS1115 Hub </esphomeyaml/components/ads1115.html>`__ you want to use this sensor.
- **ads1115_id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID of the
`ADS1115 Hub </esphomeyaml/components/ads1115.html>`__ you want to use this sensor.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation.
@ -48,21 +50,21 @@ Multiplexer And Gain
The ADS1115 has a multiplexer that can be configured to measure voltage between several pin configurations. These are:
- `A0_A1` (between Pin 0 and Pin 1)
- `A0_A3` (between Pin 0 and Pin 3)
- `A1_A3` (between Pin 1 and Pin 3)
- `A2_A3` (between Pin 2 and Pin 3)
- `A0_GND` (between Pin 0 and GND)
- `A1_GND` (between Pin 1 and GND)
- `A2_GND` (between Pin 2 and GND)
- `A3_GND` (between Pin 3 and GND)
- ``A0_A1`` (between Pin 0 and Pin 1)
- ``A0_A3`` (between Pin 0 and Pin 3)
- ``A1_A3`` (between Pin 1 and Pin 3)
- ``A2_A3`` (between Pin 2 and Pin 3)
- ``A0_GND`` (between Pin 0 and GND)
- ``A1_GND`` (between Pin 1 and GND)
- ``A2_GND`` (between Pin 2 and GND)
- ``A3_GND`` (between Pin 3 and GND)
Additionally, the ADS1115 has a Programmable Gain Amplifier (PGA) that can help you measure voltages in different ranges, these are:
- `6.144` (measures up to 6.144V)
- `4.096` (measures up to 4.096V)
- `2.048` (measures up to 2.048V)
- `1.024` (measures up to 1.024V)
- `0.512` (measures up to 0.512V)
- `0.256` (measures up to 0.256V)
- ``6.144`` (measures up to 6.144V)
- ``4.096`` (measures up to 4.096V)
- ``2.048`` (measures up to 2.048V)
- ``1.024`` (measures up to 1.024V)
- ``0.512`` (measures up to 0.512V)
- ``0.256`` (measures up to 0.256V)

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

View File

@ -0,0 +1,48 @@
BH1750 Ambient Light Sensor
===========================
.. warning::
This sensor is experimental has not been fully tested yet as I do not own all sensors. If you
can verify it works (or if it doesn't), please notify me on discord.
The ``bh1750`` sensor platform allows you to use your BH1750
(`datasheet <http://www.mouser.com/ds/2/348/bh1750fvi-e-186247.pdf>`__, `Aliexpress`_, `mklec`_)
ambient light sensor with esphomelib. The `I²C
bus </esphomeyaml/components/i2c.html>`__ is required to be set up in
your configuration for this sensor to work.
.. figure:: /esphomeyaml/components/sensor/bh1750-full.jpg
:align: center
:target: `Aliexpress`_
:width: 50.0%
BH1750 Ambient Light Sensor. Images from `Aliexpress`_ and `mklec`_.
.. _Aliexpress: https://www.adafruit.com/product/1603
.. _mklec: http://mklec.com/modules/micro-controller-modules/bh1750-bh1750fvi-digital-light-sensor-module
.. code:: yaml
# Example configuration entry
sensor:
- platform: bh1750
address: 0x23
update_interval: 15s
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **name** (**Required**, string): The name for the sensor.
- **address** (*Optional*, int): Manually specify the i^2c address of the sensor.
Defaults to ``0x23`` (address if address pin is pulled low). If the address pin is pulled high,
the address is ``0x5C``.
- **resolution** (*Optional*, string): The resolution of the sensor in lx. One of ``4.0``,
``1.0``, ``0.5``. Defaults to ``0.5`` (the maximum resolution).
- **update_interval** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): The interval to check the
sensor. Defaults to ``15s``.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
generation.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

View File

@ -0,0 +1,94 @@
BME280 Temperature+Pressure+Humidity Sensor
===========================================
.. warning::
This sensor is experimental has not been fully tested yet as I do not own all sensors. If you
can verify it works (or if it doesn't), please notify me on discord.
The ``bme280`` sensor platform allows you to use your BME280
(`datasheet <https://cdn-shop.adafruit.com/datasheets/BST-BME280_DS001-10.pdf>`__,
`Adafruit`_) temperature, pressure and humidity sensors with esphomelib. The `I²C
bus </esphomeyaml/components/i2c.html>`__ is required to be set up in
your configuration for this sensor to work.
.. figure:: /esphomeyaml/components/sensor/bme280-full.jpg
:align: center
:target: `Adafruit`_
:width: 50.0%
BME280 Temperature, Pressure & Humidity Sensor. Image by `Adafruit`_.
.. _Adafruit: https://www.adafruit.com/product/2652
.. code:: yaml
# Example configuration entry
sensor:
- platform: bme280
temperature:
name: "Outside Temperature"
oversampling: 16x
pressure:
name: "Outside Pressure"
humidity:
name: "Outside Humidity"
address: 0x77
update_interval: 15s
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **temperature** (**Required**): The information for the temperature.
sensor
- **name** (**Required**, string): The name for the temperature
sensor.
- **oversampling** (*Optional*): The oversampling parameter for the temperature sensor.
See `Oversampling Options <#oversampling-options>`__.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **pressure** (**Required**): The information for the pressure sensor.
- **name** (**Required**, string): The name for the pressure sensor.
- **oversampling** (*Optional*): The oversampling parameter for the temperature sensor.
See `Oversampling Options <#oversampling-options>`__.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **humidity** (**Required**): The information for the pressure sensor.
- **name** (**Required**, string): The name for the humidity sensor.
- **oversampling** (*Optional*): The oversampling parameter for the temperature sensor.
See `Oversampling Options <#oversampling-options>`__.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **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``.
- **update_interval** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): The interval to check the
sensor. Defaults to ``15s``.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
generation.
Oversampling Options
~~~~~~~~~~~~~~~~~~~~
By default, the BME280 sensor measures each value 16 times when requesting a new value. You can, however,
configure this amount. Possible oversampling values:
- ``NONE``
- ``1x``
- ``2x``
- ``4x``
- ``8x``
- ``16x`` (default)

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

View File

@ -0,0 +1,104 @@
BME680 Temperature+Pressure+Humidity+Gas Sensor
===============================================
.. warning::
This sensor is experimental has not been fully tested yet as I do not own all sensors. If you
can verify it works (or if it doesn't), please notify me on discord.
The ``bme680`` sensor platform allows you to use your BME680
(`datasheet <https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf>`__,
`Adafruit`_) temperature, pressure and humidity sensors with esphomelib. The `I²C
bus </esphomeyaml/components/i2c.html>`__ is required to be set up in
your configuration for this sensor to work.
.. figure:: /esphomeyaml/components/sensor/bme680-full.jpg
:align: center
:target: `Adafruit`_
:width: 50.0%
BME680 Temperature, Pressure & Humidity Sensor. Image by `Adafruit`_.
.. _Adafruit: https://www.adafruit.com/product/3660
.. code:: yaml
# Example configuration entry
sensor:
- platform: bme680
temperature:
name: "Outside Temperature"
oversampling: 16x
pressure:
name: "Outside Pressure"
humidity:
name: "Outside Humidity"
gas_resistance:
name: "Outside Gas Sensor"
address: 0x77
update_interval: 15s
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **temperature** (**Required**): The information for the temperature.
sensor
- **name** (**Required**, string): The name for the temperature
sensor.
- **oversampling** (*Optional*): The oversampling parameter for the temperature sensor.
See `Oversampling Options <#oversampling-options>`__.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **pressure** (**Required**): The information for the pressure sensor.
- **name** (**Required**, string): The name for the pressure sensor.
- **oversampling** (*Optional*): The oversampling parameter for the temperature sensor.
See `Oversampling Options <#oversampling-options>`__.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **humidity** (**Required**): The information for the pressure sensor.
- **name** (**Required**, string): The name for the humidity sensor.
- **oversampling** (*Optional*): The oversampling parameter for the temperature sensor.
See `Oversampling Options <#oversampling-options>`__.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **gas_resistance** (**Required**): The information for the gas sensor.
- **name** (**Required**, string): The name for the gas resistance sensor.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **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``.
- **update_interval** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): The interval to check the
sensor. Defaults to ``15s``.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
generation.
Oversampling Options
~~~~~~~~~~~~~~~~~~~~
By default, the BME680 sensor measures each value 16 times when requesting a new value. You can, however,
configure this amount. Possible oversampling values:
- ``NONE``
- ``1x``
- ``2x``
- ``4x``
- ``8x``
- ``16x`` (default)

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -13,19 +13,19 @@ The DHT Temperature+Humidity sensor allows you to use your DHT11
sensors with esphomelib.
.. figure:: /esphomeyaml/components/sensor/dht22-full.jpg
:align: center
:target: `Adafruit`_
:width: 50.0%
:align: center
:target: `Adafruit`_
:width: 50.0%
DHT22 Temperature & Humidity Sensor. Image by `Adafruit`_.
DHT22 Temperature & Humidity Sensor. Image by `Adafruit`_.
.. _Adafruit: https://www.adafruit.com/product/385
|image0|
.. |image0| image:: /esphomeyaml/components/sensor/temperature-humidity.png
:class: align-center
:width: 80.0%
:class: align-center
:width: 80.0%
.. code:: yaml
@ -68,3 +68,9 @@ Configuration variables:
sensor. Defaults to ``15s``.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
generation.
.. note::
If you're seeing lots of invalid temperature/humidity warnings in the logs, try manually setting the
DHT model with the ``model:`` configuration variable. Other problems could be wrong pull-up resistor values
on the DATA pin or too long cables.

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 KiB

View File

@ -0,0 +1,71 @@
SHT3X-D Temperature+Humidity Sensor
==================================
.. warning::
This sensor is experimental has not been fully tested yet as I do not own all sensors. If you
can verify it works (or if it doesn't), please notify me on discord.
The ``sht3xd`` sensor platform Temperature+Humidity sensor allows you to use your Sensiron SHT31-D
(`datasheet <https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf>`__,
`Adafruit`_ ) sensors with
esphomelib. The `I²C bus </esphomeyaml/components/i2c.html>`__ is
required to be set up in your configuration for this sensor to work.
.. figure:: /esphomeyaml/components/sensor/sht3xd-full.jpg
:align: center
:target: `Adafruit`_
:width: 50.0%
SHT3X-D Temperature & Humidity Sensor. Image by `Adafruit`_.
.. _Adafruit: https://www.adafruit.com/product/2857
|image0|
.. |image0| image:: /esphomeyaml/components/sensor/temperature-humidity.png
:class: align-center
:width: 80.0%
.. code:: yaml
# Example configuration entry
sensor:
- platform: sht3xd
temperature:
name: "Living Room Temperature"
humidity:
name: "Living Room Humidity"
accuracy: high
address: 0x44
update_interval: 15s
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **temperature** (**Required**): The information for the temperature
sensor
- **name** (**Required**, string): The name for the temperature
sensor.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **humidity** (**Required**): The information for the humidity sensor
- **name** (**Required**, string): The name for the humidity sensor.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT
Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.
- **address** (*Optional*, int): Manually specify the i^2c address of the sensor.
Defaults to ``0xff``.
- **accuracy** (*Optional*, string): The accuracy of the sensor. One of ``low``, ``medium`` and ``high``.
Defaults to ``high``.
- **update_interval** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): The interval to check the
sensor. Defaults to ``15s``.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
generation.

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

@ -0,0 +1,54 @@
TSL2561 Ambient Light Sensor
============================
.. warning::
This sensor is experimental has not been fully tested yet as I do not own all sensors. If you
can verify it works (or if it doesn't), please notify me on discord.
The ``tsl2561`` sensor platform allows you to use your BH1750
(`datasheet <https://cdn-shop.adafruit.com/datasheets/TSL2561.pdf>`__,
`Adafruit`_)
ambient light sensor with esphomelib. The `I²C
bus </esphomeyaml/components/i2c.html>`__ is required to be set up in
your configuration for this sensor to work.
.. figure:: /esphomeyaml/components/sensor/tsl2561-full.jpg
:align: center
:target: `Adafruit`_
:width: 50.0%
TSL2561 Ambient Light Sensor. Image by `Adafruit`_.
.. _Adafruit: https://www.adafruit.com/product/439
.. code:: yaml
# Example configuration entry
sensor:
- platform: tsl2561
name: "TSL2561 Ambient Light"
address: 0x39
update_interval: 15s
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **name** (**Required**, string): The name for the sensor.
- **address** (*Optional*, int): Manually specify the i^2c address of the sensor.
Defaults to ``0x39``.
- **integration_time** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__):
The time the sensor will take for each measurement. Longer means more accurate values. One of
``14ms``, ``101ms``, ``402ms``. Defaults to ``402ms``.
- **gain** (*Optional*, string): The gain of the sensor. Higher values are better in low-light conditions.
One of ``1x`` and ``16x``. Defaults to ``1x``.
- **is_cs_package** (*Optional*, boolean): The "CS" package of this sensor has a slightly different
formula for calculating the illuminance in lx. Set this to ``true`` if you're working with a CS
package. Defaults to ``false``.
- **update_interval** (*Optional*, `time </esphomeyaml/configuration-types.html#time>`__): The interval to check the
sensor. Defaults to ``15s``.
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
generation.
- All other options from
`Sensor </esphomeyaml/components/sensor/index.html#base-sensor-configuration>`__
and `MQTT Component </esphomeyaml/components/mqtt.html#mqtt-component-base-configuration>`__.

View File

@ -1,5 +1,5 @@
ESP32 IR Transmitter Switch
===========================
IR Transmitter Switch
=====================
The ``ir_transmitter`` switch platform allows you to create switches
that send an IR code using the `IR Transmitter
@ -32,17 +32,17 @@ signals on any pin by using the ``raw:`` option.
Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **ir_transmitter_id** (**Required**,
`id </esphomeyaml/configuration-types.html#id>`__): The id of the `IR
Transmitter
Component </esphomeyaml/components/ir_transmitter.html>`__.
- **name** (**Required**, string): The name for the switch.
- The IR code, see `Defining IR Codes <#defining-ir-codes>`__. Only one
of them can be specified per switch.
- **repeat** (*Optional*, int): How often the command should be
repeated. Additionally, an ``wait_time_us`` option can be specified
repeated. Additionally, an ``wait_time`` option can be specified in the ``repeat`` section
to set how long to wait in between repeats. Defaults to 1 (code is
sent once).
sent once). Example: ``repeat: {times: 10, wait_time: 20us} ``
- **ir_transmitter_id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): The id of the `IR
Transmitter
Component </esphomeyaml/components/ir_transmitter.html>`__. Defaults to the first hub specified.
- **id** (*Optional*,
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
the ID used for code generation.
@ -112,5 +112,5 @@ Configuration variables:
mean OFF.
.. |image0| image:: /esphomeyaml/components/switch/ir-transmitter.png
:class: align-center
:width: 80.0%
:class: align-center
:width: 80.0%

View File

@ -80,16 +80,16 @@ Available Pin Modes:
- ``INPUT``
- ``OUTPUT``
- ``INPUT_PULLDOWN`` (only on ESP32)
- ``INPUT_PULLUP``
- ``OUTPUT_OPEN_DRAIN``
- ``ANALOG`` (only on ESP32)
- ``INPUT_PULLUP``
- ``INPUT_PULLDOWN`` (only on ESP32)
- ``INPUT_PULLDOWN_16`` (only on ESP8266 and only on GPIO16)
More exotic Pin Modes are also supported, but rarely used:
- ``WAKEUP_PULLUP`` (only on ESP8266)
- ``WAKEUP_PULLDOWN`` (only on ESP8266)
- ``INPUT_PULLDOWN_16`` (only on ESP8266 and only on GPIO16)
- ``OPEN_DRAIN`` (only on ESP32)
- ``PULLUP`` (only on ESP32)
- ``PULLDOWN`` (only on ESP32)
- ``ANALOG`` (only on ESP32)
- ``SPECIAL``
- ``FUNCTION_0`` (only on ESP8266)
- ``FUNCTION_1``
@ -102,20 +102,21 @@ Available Pin Modes:
Time
~~~~
In lots of places in esphomeyaml you need to define time lengths, most
notably of these is an ``update_interval`` in milliseconds. Internally,
epshomelib always tries to work with millisecond values. But as
esphomeyaml is trying to make your lifes as easy as possible, there are
lots of helpers for defining times.
In lots of places in esphomeyaml you need to define time periods.
There are several ways of doing this. See below examples to see how you can specify time periods:
.. code:: yaml
some_config_option:
some_time_option: 1000us # 1000 microseconds = 1ms
some_time_option: 1000ms # 1000 milliseconds
some_time_option: 1.5s # 1.5 seconds
some_time_option: 0.5min # half a minute
some_time_option: 2h # 2 hours
some_time_option: # 10ms + 30s + 25min + 3h
some_time_option: 2:01 # 2 hours 1 minute
some_time_option: 2:01:30 # 2 hours 1 minute 30 seconds
# 10ms + 30s + 25min + 3h
some_time_option:
milliseconds: 10
seconds: 30
minutes: 25

View File

@ -103,9 +103,17 @@ Sensor Components
---------------------- ---------------------- ----------------------
`HDC1080`_ `HTU21D`_ `MPU6050`_
---------------------- ---------------------- ----------------------
|Pulse Counter|_ |Ultrasonic Sensor|_
|Pulse Counter|_ |Ultrasonic Sensor|_ |BH1750|_
---------------------- ---------------------- ----------------------
`Pulse Counter`_ `Ultrasonic Sensor`_
`Pulse Counter`_ `Ultrasonic Sensor`_ `BH1750`_
---------------------- ---------------------- ----------------------
|BME280|_ |BME680|_ |TSL2561|_
---------------------- ---------------------- ----------------------
`BME280`_ `BME680`_ `TSL2561`_
---------------------- ---------------------- ----------------------
|SHT3X-D|_
---------------------- ---------------------- ----------------------
`SHT3X-D`_
====================== ====================== ======================
.. |Sensor Core| image:: /esphomeyaml/folder-open.svg
@ -152,6 +160,26 @@ Sensor Components
:class: component-image
.. _Ultrasonic Sensor: /esphomeyaml/components/sensor/ultrasonic.html
.. |BH1750| image:: /esphomeyaml/bh1750.jpg
:class: component-image
.. _BH1750: /esphomeyaml/components/sensor/bh1750.html
.. |BME280| image:: /esphomeyaml/bme280.jpg
:class: component-image
.. _BME280: /esphomeyaml/components/sensor/bme280.html
.. |BME680| image:: /esphomeyaml/bme680.jpg
:class: component-image
.. _BME680: /esphomeyaml/components/sensor/bme680.html
.. |TSL2561| image:: /esphomeyaml/tsl2561.jpg
:class: component-image
.. _TSL2561: /esphomeyaml/components/sensor/tsl2561.html
.. |SHT3X-D| image:: /esphomeyaml/sht3xd.jpg
:class: component-image
.. _SHT3X-D: /esphomeyaml/components/sensor/sht3xd.html
Binary Sensor Components
~~~~~~~~~~~~~~~~~~~~~~~~
@ -160,6 +188,10 @@ Binary Sensor Components
|Binary Sensor Core|_ |GPIO|_ |Status|_
---------------------- ---------------------- ----------------------
`Binary Sensor Core`_ `GPIO`_ `Status`_
---------------------- ---------------------- ----------------------
|ESP32 BLE Device|_ |ESP32 Touch Pad|_
---------------------- ---------------------- ----------------------
`ESP32 BLE Device`_ `ESP32 Touch Pad`_
====================== ====================== ======================
.. |Binary Sensor Core| image:: /esphomeyaml/folder-open.svg
@ -174,6 +206,14 @@ Binary Sensor Components
:class: component-image
.. _Status: /esphomeyaml/components/binary_sensor/status.html
.. |ESP32 BLE Device| image:: /esphomeyaml/bluetooth.svg
:class: component-image
.. _ESP32 BLE Device: /esphomeyaml/components/binary_sensor/esp32_ble.html
.. |ESP32 Touch Pad| image:: /esphomeyaml/touch.svg
:class: component-image
.. _ESP32 Touch Pad: /esphomeyaml/components/binary_sensor/esp32_touch.html
Output Components
~~~~~~~~~~~~~~~~~
@ -211,15 +251,19 @@ Output Components
Light Components
~~~~~~~~~~~~~~~~
======================== ======================== ========================
|Light Core|_ |Binary Light|_ |Monochromatic Light|_
------------------------ ------------------------ ------------------------
`Light Core`_ `Binary Light`_ `Monochromatic Light`_
------------------------ ------------------------ ------------------------
|RGB Light|_ |RGBW Light|_
------------------------ ------------------------ ------------------------
`RGB Light`_ `RGBW Light`_
======================== ======================== ========================
============================ ============================ ============================
|Light Core|_ |Binary Light|_ |Monochromatic Light|_
---------------------------- ---------------------------- ----------------------------
`Light Core`_ `Binary Light`_ `Monochromatic Light`_
---------------------------- ---------------------------- ----------------------------
|RGB Light|_ |RGBW Light|_ |FastLED Clockless Light|_
---------------------------- ---------------------------- ----------------------------
`RGB Light`_ `RGBW Light`_ `FastLED Clockless Light`_
---------------------------- ---------------------------- ----------------------------
|FastLED SPI Light|_
---------------------------- ---------------------------- ----------------------------
`FastLED SPI Light`_
============================ ============================ ============================
.. |Light Core| image:: /esphomeyaml/folder-open.svg
@ -242,6 +286,14 @@ Light Components
:class: component-image
.. _RGBW Light: /esphomeyaml/components/light/rgbw.html
.. |FastLED Clockless Light| image:: /esphomeyaml/color_lens.svg
:class: component-image
.. _FastLED Clockless Light: /esphomeyaml/components/light/fastled_clockless.html
.. |FastLED SPI Light| image:: /esphomeyaml/color_lens.svg
:class: component-image
.. _FastLED SPI Light: /esphomeyaml/components/light/fastled_spi.html
Switch Components
~~~~~~~~~~~~~~~~~
@ -272,7 +324,7 @@ Switch Components
:class: component-image
.. _Restart Switch: /esphomeyaml/components/switch/restart.html
.. |Shutdown Switch| image:: /esphomeyaml/power.svg
.. |Shutdown Switch| image:: /esphomeyaml/power_settings.svg
:class: component-image
.. _Shutdown Switch: /esphomeyaml/components/switch/shutdown.html
@ -314,6 +366,10 @@ Misc Components
|ADS1115 Hub|_ |Debug Component|_ |PCF8574 I/O Expander|_
------------------------ ------------------------ ------------------------
`ADS1115 Hub`_ `Debug Component`_ `PCF8574 I/O Expander`_
------------------------ ------------------------ ------------------------
|ESP32 BLE Hub|_ |ESP32 Touch Hub|_
------------------------ ------------------------ ------------------------
`ESP32 BLE Hub`_ `ESP32 Touch Hub`_
======================== ======================== ========================
.. |Dallas Hub| image:: /esphomeyaml/ds18b20.jpg
@ -340,6 +396,14 @@ Misc Components
:class: component-image
.. _PCF8574 I/O Expander: /esphomeyaml/components/pcf8574.html
.. |ESP32 BLE Hub| image:: /esphomeyaml/bluetooth.svg
:class: component-image
.. _ESP32 BLE Hub: /esphomeyaml/components/esp32_ble.html
.. |ESP32 Touch Hub| image:: /esphomeyaml/touch.svg
:class: component-image
.. _ESP32 Touch Hub: /esphomeyaml/components/esp32_touch.html
Full Index
~~~~~~~~~~
@ -397,3 +461,14 @@ Full Index
components/fan/binary.rst
components/fan/speed.rst
components/pcf8574.rst
components/esp32_ble.rst
components/binary_sensor/esp32_ble.rst
components/esp32_touch.rst
components/binary_sensor/esp32_touch.rst
components/light/fastled_clockless.rst
components/light/fastled_spi.rst
components/sensor/bh1750.rst
components/sensor/bme280.rst
components/sensor/bme680.rst
components/sensor/tsl2561.rst
components/sensor/sht3xd.rst

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z"/>
</svg>

After

Width:  |  Height:  |  Size: 358 B

BIN
esphomeyaml/sht3xd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

9
esphomeyaml/touch.svg Normal file
View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
<defs>
<path id="a" d="M0 0h24v24H0V0z"/>
</defs>
<clipPath id="b">
<use xlink:href="#a" overflow="visible"/>
</clipPath>
<path d="M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5v3.74c1.21-.81 2-2.18 2-3.74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74zm9.84 4.63l-4.54-2.26c-.17-.07-.35-.11-.54-.11H13v-6c0-.83-.67-1.5-1.5-1.5S10 6.67 10 7.5v10.74l-3.43-.72c-.08-.01-.15-.03-.24-.03-.31 0-.59.13-.79.33l-.79.8 4.94 4.94c.27.27.65.44 1.06.44h6.79c.75 0 1.33-.55 1.44-1.28l.75-5.27c.01-.07.02-.14.02-.2 0-.62-.38-1.16-.91-1.38z" clip-path="url(#b)"/>
</svg>

After

Width:  |  Height:  |  Size: 734 B

BIN
esphomeyaml/tsl2561.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

@ -42,7 +42,7 @@ a light is a combination of output components.
api/binary_sensor/esp32_touch.rst
api/misc/esp32_ble_tracker.rst
api/sensor/tsl2561.rst
api/sensor/bht1750.rst
api/sensor/bh1750.rst
api/sensor/bme280.rst
api/sensor/bme680.rst
api/sensor/sht3xd.rst