Preparations for 1.5.0
7
Makefile
@ -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"
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
@ -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
@ -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:
|
@ -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
@ -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:
|
@ -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`.
|
||||
|
||||
|
@ -4,3 +4,4 @@ Miscellaneous Components
|
||||
.. toctree::
|
||||
PCF8574 <pcf8574>
|
||||
ESP32 Bluetooth Low Energy Tracker <esp32_ble_tracker>
|
||||
Debug Component <debug>
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`).
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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 |
@ -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 |
@ -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 |
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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
After Width: | Height: | Size: 15 KiB |
4
esphomeyaml/bluetooth.svg
Normal 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
After Width: | Height: | Size: 51 KiB |
BIN
esphomeyaml/bme680.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
4
esphomeyaml/color_lens.svg
Normal 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 |
@ -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
|
||||
~~~~~~~~~~~~~
|
||||
|
BIN
esphomeyaml/components/binary_sensor/esp32_ble.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
64
esphomeyaml/components/binary_sensor/esp32_ble.rst
Normal 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%
|
BIN
esphomeyaml/components/binary_sensor/esp32_touch.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
99
esphomeyaml/components/binary_sensor/esp32_touch.rst
Normal 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
|
After Width: | Height: | Size: 68 KiB |
43
esphomeyaml/components/esp32_ble.rst
Normal 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.
|
||||
|
||||
|
50
esphomeyaml/components/esp32_touch.rst
Normal 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``.
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
BIN
esphomeyaml/components/light/fastled_clockless.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
97
esphomeyaml/components/light/fastled_clockless.rst
Normal 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%
|
BIN
esphomeyaml/components/light/fastled_effect.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
esphomeyaml/components/light/fastled_spi.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
85
esphomeyaml/components/light/fastled_spi.rst
Normal 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%
|
@ -43,6 +43,7 @@ Possible log levels are (sorted by severity):
|
||||
- ``INFO``
|
||||
- ``DEBUG``
|
||||
- ``VERBOSE``
|
||||
- ``VERY_VERBOSE``
|
||||
|
||||
Manual Tag-Specific Log Levels
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -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``.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
BIN
esphomeyaml/components/sensor/bh1750-full.jpg
Normal file
After Width: | Height: | Size: 602 KiB |
48
esphomeyaml/components/sensor/bh1750.rst
Normal 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>`__.
|
BIN
esphomeyaml/components/sensor/bme280-full.jpg
Normal file
After Width: | Height: | Size: 272 KiB |
94
esphomeyaml/components/sensor/bme280.rst
Normal 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 |
BIN
esphomeyaml/components/sensor/bme680-full.jpg
Normal file
After Width: | Height: | Size: 257 KiB |
104
esphomeyaml/components/sensor/bme680.rst
Normal 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 |
@ -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.
|
||||
|
BIN
esphomeyaml/components/sensor/sht3xd-full.jpg
Normal file
After Width: | Height: | Size: 277 KiB |
71
esphomeyaml/components/sensor/sht3xd.rst
Normal 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.
|
BIN
esphomeyaml/components/sensor/tsl2561-full.jpg
Normal file
After Width: | Height: | Size: 249 KiB |
54
esphomeyaml/components/sensor/tsl2561.rst
Normal 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>`__.
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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`_
|
||||
======================== ======================== ========================
|
||||
---------------------------- ---------------------------- ----------------------------
|
||||
|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
|
||||
|
4
esphomeyaml/power_settings.svg
Normal 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
After Width: | Height: | Size: 291 KiB |
9
esphomeyaml/touch.svg
Normal 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
After Width: | Height: | Size: 74 KiB |