Preparations for 1.5.0
7
Makefile
|
@ -9,9 +9,7 @@ SOURCEDIR = .
|
||||||
BUILDDIR = _build
|
BUILDDIR = _build
|
||||||
ESPHOMELIB_PATH = ../esphomelib
|
ESPHOMELIB_PATH = ../esphomelib
|
||||||
|
|
||||||
|
|
||||||
html:
|
html:
|
||||||
# ESPHOMELIB_PATH=$(ESPHOMELIB_PATH) doxygen Doxygen
|
|
||||||
$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
cleanhtml:
|
cleanhtml:
|
||||||
|
@ -20,7 +18,10 @@ cleanhtml:
|
||||||
minifyhtml: html
|
minifyhtml: html
|
||||||
./minify.sh
|
./minify.sh
|
||||||
|
|
||||||
deploy: cleanhtml html minifyhtml
|
doxyg:
|
||||||
|
ESPHOMELIB_PATH=$(ESPHOMELIB_PATH) doxygen Doxygen
|
||||||
|
|
||||||
|
deploy: doxyg cleanhtml html minifyhtml
|
||||||
touch "$(BUILDDIR)/html/.nojekyll"
|
touch "$(BUILDDIR)/html/.nojekyll"
|
||||||
echo "esphomelib.com" >"$(BUILDDIR)/html/CNAME"
|
echo "esphomelib.com" >"$(BUILDDIR)/html/CNAME"
|
||||||
cd "$(BUILDDIR)/html" && git add --all && git commit -m "Deploy to gh-pages"
|
cd "$(BUILDDIR)/html" && git add --all && git commit -m "Deploy to gh-pages"
|
||||||
|
|
|
@ -11,7 +11,7 @@ Example Usage
|
||||||
touch->set_iir_filter(1000);
|
touch->set_iir_filter(1000);
|
||||||
App.register_binary_sensor(touch_hub->make_touch_pad("ESP32 Touch Pad 9", TOUCH_PAD_NUM9, 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`.
|
See :cpp:func:`Application::make_esp32_touch_component`.
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Example Usage
|
||||||
// Custom pinMode
|
// Custom pinMode
|
||||||
App.make_gpio_binary_sensor("Window Open", GPIOInputPin(36, INPUT_PULLUP));
|
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`.
|
See :cpp:func:`Application::make_gpio_binary_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ Example Usage
|
||||||
App.make_gpio_binary_sensor("Window Open", 36);
|
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`.
|
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");
|
App.make_status_binary_sensor("Livingroom Node Status");
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_status_binary_sensor`.
|
See :cpp:func:`Application::make_status_binary_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Application
|
Application
|
||||||
===========
|
===========
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
The :cpp:class:`Application` class has two objectives: 1. handle all of
|
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.
|
your :cpp:class:`Component`\ s and 2. provide helper methods to simplify creating a component.
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
Controller
|
Controller
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. cpp:namespace:: Controller
|
|
||||||
|
|
||||||
API Reference
|
API Reference
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
@ -11,7 +9,7 @@ API Reference
|
||||||
Controller
|
Controller
|
||||||
**********
|
**********
|
||||||
|
|
||||||
.. doxygenclass:: Component
|
.. doxygenclass:: Controller
|
||||||
:members:
|
:members:
|
||||||
:protected-members:
|
:protected-members:
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
|
|
|
@ -23,7 +23,7 @@ Example Usage
|
||||||
oscillating_fan.output->set_binary(App.make_gpio_output(34));
|
oscillating_fan.output->set_binary(App.make_gpio_output(34));
|
||||||
oscillating_fan.output->set_oscillation(App.make_gpio_output(35));
|
oscillating_fan.output->set_oscillation(App.make_gpio_output(35));
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_fan`.
|
See :cpp:func:`Application::make_fan`.
|
||||||
|
|
||||||
|
|
|
@ -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
|
access a combined :cpp:class:`LightState` object and use only that to set state and receive
|
||||||
state updates.
|
state updates.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
fastled.rst
|
||||||
|
|
||||||
Example Usage
|
Example Usage
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
@ -20,7 +23,7 @@ Example Usage
|
||||||
App.make_rgb_light("RGB Lights", red, green, blue);
|
App.make_rgb_light("RGB Lights", red, green, blue);
|
||||||
App.make_rgbw_light("RGBW Lights", red, green, blue, white);
|
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`,
|
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`.
|
:cpp:func:`Application::make_rgb_light`, :cpp:func:`Application::make_rgbw_light`.
|
||||||
|
|
|
@ -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
|
0xAC, 0x37, 0x43, 0x77, 0x5F, 0x4C
|
||||||
}));
|
}));
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_esp32_ble_tracker`.
|
See :cpp:func:`Application::make_esp32_ble_tracker`.
|
||||||
|
|
||||||
|
|
|
@ -4,3 +4,4 @@ Miscellaneous Components
|
||||||
.. toctree::
|
.. toctree::
|
||||||
PCF8574 <pcf8574>
|
PCF8574 <pcf8574>
|
||||||
ESP32 Bluetooth Low Energy Tracker <esp32_ble_tracker>
|
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));
|
auto *out = App.make_gpio_output(pcf8574->make_output_pin(2));
|
||||||
App.make_binary_light("PCF pin 2 light", out);
|
App.make_binary_light("PCF pin 2 light", out);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_pcf8574_component`.
|
See :cpp:func:`Application::make_pcf8574_component`.
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ Example Usage
|
||||||
// Advanced: Setting a custom frequency globally
|
// Advanced: Setting a custom frequency globally
|
||||||
analogWriteFreq(500);
|
analogWriteFreq(500);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_esp8266_pwm_output`.
|
See :cpp:func:`Application::make_esp8266_pwm_output`.
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Example Usage
|
||||||
// Custom pinMode
|
// Custom pinMode
|
||||||
App.make_gpio_output(GPIOOutputPin(33, OUTPUT_OPEN_DRAIN));
|
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`).
|
See :cpp:func:`Application::make_gpio_output` (and :cpp:func:`Application::make_gpio_switch`).
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Example Usage
|
||||||
// Custom Frequency
|
// Custom Frequency
|
||||||
App.make_ledc_output(33, 2000.0);
|
App.make_ledc_output(33, 2000.0);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_ledc_output`.
|
See :cpp:func:`Application::make_ledc_output`.
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Example Usage
|
||||||
// Create the PCA9685 Output hub with frequency 500Hz.
|
// Create the PCA9685 Output hub with frequency 500Hz.
|
||||||
auto *pca9685 = App.make_pca9685_component(500.0f);
|
auto *pca9685 = App.make_pca9685_component(500.0f);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_pca9685_component`.
|
See :cpp:func:`Application::make_pca9685_component`.
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Example Usage
|
||||||
auto adc = App.make_adc_sensor("Analog Voltage", 13);
|
auto adc = App.make_adc_sensor("Analog Voltage", 13);
|
||||||
adc.adc.set_attenuation(ADC_11db);
|
adc.adc.set_attenuation(ADC_11db);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_adc_sensor`.
|
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);
|
auto *sensor = ads1115->get_sensor("ADS1115 Voltage #1", ADS1115_MUX_P0_N1, ADS1115_PGA_6P144);
|
||||||
App.register_sensor(sensor);
|
App.register_sensor(sensor);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_ads1115_component`.
|
See :cpp:func:`Application::make_ads1115_component`.
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ Example Usage
|
||||||
// default resolution is 0.5 LX
|
// default resolution is 0.5 LX
|
||||||
bh1750.bh1750->set_resolution(sensor::BH1750_RESOLUTION_1P0_LX);
|
bh1750.bh1750->set_resolution(sensor::BH1750_RESOLUTION_1P0_LX);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_bh1750_sensor`.
|
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_humidity_oversampling(sensor::BME280_OVERSAMPLING_4X);
|
||||||
bme280.bme280->set_pressure_oversampling(sensor::BME280_OVERSAMPLING_16X);
|
bme280.bme280->set_pressure_oversampling(sensor::BME280_OVERSAMPLING_16X);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_bme280_sensor`.
|
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
|
// set heater to 200°C for 100ms, default is off
|
||||||
bme680.bme680->set_heater(200, 100);
|
bme680.bme680->set_heater(200, 100);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_bme680_sensor`.
|
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
|
// create sensors
|
||||||
App.make_bmp085_sensor("Outside Temperature", "Outside Pressure");
|
App.make_bmp085_sensor("Outside Temperature", "Outside Pressure");
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_bmp085_sensor`.
|
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
|
// By index
|
||||||
App.register_sensor(dallas->get_sensor_by_index("Ambient Temperature", 0));
|
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`.
|
See :cpp:func:`Application::make_dallas_component` and :cpp:func:`Application::register_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ Example Usage
|
||||||
// Basic
|
// Basic
|
||||||
App.make_dht_sensor("Outside Temperature", "Outside Humidity", 12);
|
App.make_dht_sensor("Outside Temperature", "Outside Humidity", 12);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_dht_sensor`.
|
See :cpp:func:`Application::make_dht_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ Example Usage
|
||||||
// create sensors
|
// create sensors
|
||||||
App.make_hdc1080_sensor("Outside Temperature", "Outside Humidity");
|
App.make_hdc1080_sensor("Outside Temperature", "Outside Humidity");
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_hdc1080_sensor`.
|
See :cpp:func:`Application::make_hdc1080_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ Example Usage
|
||||||
// create sensors
|
// create sensors
|
||||||
App.make_htu21d_sensor("Outside Temperature", "Outside Humidity");
|
App.make_htu21d_sensor("Outside Temperature", "Outside Humidity");
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_htu21d_sensor`.
|
See :cpp:func:`Application::make_htu21d_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ Sensor
|
||||||
|
|
||||||
The `sensor` namespace contains all sensors.
|
The `sensor` namespace contains all sensors.
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::register_sensor`.
|
See :cpp:func:`Application::register_sensor`.
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ See :cpp:func:`Application::register_sensor`.
|
||||||
bme280.rst
|
bme280.rst
|
||||||
bme680.rst
|
bme680.rst
|
||||||
sht3xd.rst
|
sht3xd.rst
|
||||||
|
bh1750.rst
|
||||||
|
|
||||||
|
|
||||||
API Reference
|
API Reference
|
||||||
|
|
|
@ -28,7 +28,7 @@ Example Usage
|
||||||
App.register_sensor(mpu6050->make_gyro_z_sensor("MPU6050 Gyro Z"));
|
App.register_sensor(mpu6050->make_gyro_z_sensor("MPU6050 Gyro Z"));
|
||||||
App.register_sensor(mpu6050->make_temperature_sensor("MPU6050 Temperature"));
|
App.register_sensor(mpu6050->make_temperature_sensor("MPU6050 Temperature"));
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_mpu6050_sensor`.
|
See :cpp:func:`Application::make_mpu6050_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ Example Usage
|
||||||
strom_warme.mqtt->clear_filters();
|
strom_warme.mqtt->clear_filters();
|
||||||
strom_warme.mqtt->add_multiply_filter(0.06f); // convert from Wh pulse to kW
|
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`.
|
See :cpp:func:`Application::make_pulse_counter_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ Example Usage
|
||||||
// default accuracy is high
|
// default accuracy is high
|
||||||
sht3xd.sht3xd->set_accuracy(sensor::SHT3XD_ACCURACY_LOW);
|
sht3xd.sht3xd->set_accuracy(sensor::SHT3XD_ACCURACY_LOW);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_sht3xd_sensor`.
|
See :cpp:func:`Application::make_sht3xd_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ Example Usage
|
||||||
// set a higher gain for low light conditions, default: 1x
|
// set a higher gain for low light conditions, default: 1x
|
||||||
tsl2561.tsl2561->set_gain(sensor::TSL2561_GAIN_16X);
|
tsl2561.tsl2561->set_gain(sensor::TSL2561_GAIN_16X);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_tsl2561_sensor`.
|
See :cpp:func:`Application::make_tsl2561_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Example Usage
|
||||||
// Set timeout, 4 meters
|
// Set timeout, 4 meters
|
||||||
ultrasonic.sensor->set_timeout_m(4.0f);
|
ultrasonic.sensor->set_timeout_m(4.0f);
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_ultrasonic_sensor`.
|
See :cpp:func:`Application::make_ultrasonic_sensor`.
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Example Usage
|
||||||
App.register_switch(panasonic_on);
|
App.register_switch(panasonic_on);
|
||||||
App.register_switch(ir->create_transmitter("Panasonic TV Volume Up", SendData::from_panasonic(0x4004, 0x1000405)));
|
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`.
|
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");
|
App.make_restart_switch("Livingroom Restart");
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_restart_switch`.
|
See :cpp:func:`Application::make_restart_switch`.
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ Example Usage
|
||||||
|
|
||||||
App.make_shutdown_switch("Livingroom Shutdown");
|
App.make_shutdown_switch("Livingroom Shutdown");
|
||||||
|
|
||||||
.. cpp:namespace:: esphomelib
|
.. cpp:namespace:: nullptr
|
||||||
|
|
||||||
See :cpp:func:`Application::make_shutdown_switch`.
|
See :cpp:func:`Application::make_shutdown_switch`.
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 15 KiB |
|
@ -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 |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 47 KiB |
|
@ -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
|
- **address** (**Required**, int): The i²c address of the sensor. See
|
||||||
`I²C Addresses <#i2c-addresses>`__ for more information.
|
`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** (*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
|
I²C Addresses
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
After Width: | Height: | Size: 3.9 KiB |
|
@ -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%
|
After Width: | Height: | Size: 3.6 KiB |
|
@ -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 |
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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.
|
characters, digits and underscores.
|
||||||
- **platform** (**Required**, string): The platform your board is on,
|
- **platform** (**Required**, string): The platform your board is on,
|
||||||
either ``ESP32`` or ``ESP8266``.
|
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
|
- **board** (**Required**, string): The board esphomeyaml should
|
||||||
specify for platformio. For the ESP32, choose the appropriate one
|
specify for platformio. For the ESP32, choose the appropriate one
|
||||||
from `this
|
from `this
|
||||||
|
@ -36,11 +38,31 @@ Configuration variables:
|
||||||
use here. Accepts all parameters of `platformio lib
|
use here. Accepts all parameters of `platformio lib
|
||||||
install <http://docs.platformio.org/en/latest/userguide/lib/cmd_install.html#id2>`__.
|
install <http://docs.platformio.org/en/latest/userguide/lib/cmd_install.html#id2>`__.
|
||||||
Use ``https://github.com/OttoWinter/esphomelib.git`` for the latest
|
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
|
- **simplify** (*Optional*, boolean): Whether to simplify the
|
||||||
auto-generated code, i.e. whether to remove unused variables, use
|
auto-generated code, i.e. whether to remove unused variables, use
|
||||||
``auto`` types and so on. Defaults to ``true``.
|
``auto`` types and so on. Defaults to ``true``.
|
||||||
- **use_build_flags** (*Optional*, boolean): If esphomeyaml should manually set
|
- **use_build_flags** (*Optional*, boolean): If esphomeyaml should manually set
|
||||||
build flags that specifically set what should be included in the binary. Most of
|
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
|
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|_
|
||||||
----------------------- ----------------------- -----------------------
|
----------------------- ----------------------- -----------------------
|
||||||
`HDC1080`_ `HTU21D`_ `MPU6050`_
|
`HDC1080`_ `HTU21D`_ `MPU6050`_
|
||||||
|
----------------------- ----------------------- -----------------------
|
||||||
|
|BH1750|_ |BME280|_ |BME680|_
|
||||||
|
----------------------- ----------------------- -----------------------
|
||||||
|
`BH1750`_ `BME280`_ `BME680`_
|
||||||
|
----------------------- ----------------------- -----------------------
|
||||||
|
|TSL2561|_ |SHT3X-D|_
|
||||||
|
----------------------- ----------------------- -----------------------
|
||||||
|
`TSL2561`_ `SHT3X-D`_
|
||||||
======================= ======================= =======================
|
======================= ======================= =======================
|
||||||
|
|
||||||
.. |PCA9685 PWM| image:: /esphomeyaml/pca9685.jpg
|
.. |PCA9685 PWM| image:: /esphomeyaml/pca9685.jpg
|
||||||
|
@ -38,6 +46,27 @@ for several other components:
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _MPU6050: /esphomeyaml/components/sensor/mpu6050.html
|
.. _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
|
In order for those components to work correctly, you need to define the
|
||||||
i²c bus in your configuration.
|
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.
|
- **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
|
Note that this can slow down startup and is only recommended for when setting up new sensors. Defaults to
|
||||||
``False``.
|
``False``.
|
||||||
- **frequency** (*Optional*, float): Only on ESP32. Set the frequency
|
- **frequency** (*Optional*, float): Set the frequency
|
||||||
the i²c bus should operate on. Defaults to “100kHz”. Accepts most
|
the i²c bus should operate on. Defaults to “100kHz”.
|
||||||
metric suffixes.
|
- **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
|
The IR transmitter component lets you send infrared messages to control devices in your home.
|
||||||
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.
|
|
||||||
First, you need to setup a global hub that specifies which pin your IR
|
First, you need to setup a global hub that specifies which pin your IR
|
||||||
led is connected to. Afterwards you can create `individual
|
led is connected to. Afterwards you can create `individual
|
||||||
switches </esphomeyaml/components/switch/ir_transmitter.html>`__ that
|
switches </esphomeyaml/components/switch/ir_transmitter.html>`__ that
|
||||||
each send a pre-defined IR code to a device.
|
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
|
.. code:: yaml
|
||||||
|
|
||||||
# Example configuration entry
|
# Example configuration entry
|
||||||
|
@ -33,7 +36,7 @@ Configuration variables:
|
||||||
IR LED.
|
IR LED.
|
||||||
- **carrier_duty_percent** (*Optional*, int): The duty percentage of
|
- **carrier_duty_percent** (*Optional*, int): The duty percentage of
|
||||||
the carrier. 50 for example means that the LED will be on 50% of the
|
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** (*Optional*,
|
||||||
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
|
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
|
||||||
the ID used for code generation. Use this if you have multiple IR
|
the ID used for code generation. Use this if you have multiple IR
|
||||||
|
|
After Width: | Height: | Size: 4.0 KiB |
|
@ -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%
|
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 3.5 KiB |
|
@ -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``
|
- ``INFO``
|
||||||
- ``DEBUG``
|
- ``DEBUG``
|
||||||
- ``VERBOSE``
|
- ``VERBOSE``
|
||||||
|
- ``VERY_VERBOSE``
|
||||||
|
|
||||||
Manual Tag-Specific Log Levels
|
Manual Tag-Specific Log Levels
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
|
@ -35,6 +35,3 @@ Configuration variables:
|
||||||
1526Hz.
|
1526Hz.
|
||||||
- **address** (*Optional*, int): The I²C address of the driver.
|
- **address** (*Optional*, int): The I²C address of the driver.
|
||||||
Defaults to ``0x00``.
|
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`_
|
:target: `Sparkfun`_
|
||||||
:width: 50.0%
|
: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
|
.. _Sparkfun: https://www.sparkfun.com/products/retired/8130
|
||||||
|
|
||||||
|
@ -37,7 +37,9 @@ not work.
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: "PCF8574 Pin #0"
|
name: "PCF8574 Pin #0"
|
||||||
pin:
|
pin:
|
||||||
number: pcf8574_hub.0
|
pcf8574: pcf8574_hub
|
||||||
|
# Use pin number 0
|
||||||
|
number: 0
|
||||||
# One of INPUT, INPUT_PULLUP or OUTPUT
|
# One of INPUT, INPUT_PULLUP or OUTPUT
|
||||||
mode: INPUT
|
mode: INPUT
|
||||||
inverted: False
|
inverted: False
|
||||||
|
|
|
@ -42,3 +42,16 @@ Configuration variables:
|
||||||
.. |image0| image:: /esphomeyaml/components/sensor/adc.png
|
.. |image0| image:: /esphomeyaml/components/sensor/adc.png
|
||||||
:class: align-center
|
:class: align-center
|
||||||
:width: 80.0%
|
: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:
|
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.
|
- **gain** (**Required**, float): The gain of this sensor.
|
||||||
- **name** (**Required**, string): The name for 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
|
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify
|
||||||
the ID used for code generation.
|
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:
|
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_A1`` (between Pin 0 and Pin 1)
|
||||||
- `A0_A3` (between Pin 0 and Pin 3)
|
- ``A0_A3`` (between Pin 0 and Pin 3)
|
||||||
- `A1_A3` (between Pin 1 and Pin 3)
|
- ``A1_A3`` (between Pin 1 and Pin 3)
|
||||||
- `A2_A3` (between Pin 2 and Pin 3)
|
- ``A2_A3`` (between Pin 2 and Pin 3)
|
||||||
- `A0_GND` (between Pin 0 and GND)
|
- ``A0_GND`` (between Pin 0 and GND)
|
||||||
- `A1_GND` (between Pin 1 and GND)
|
- ``A1_GND`` (between Pin 1 and GND)
|
||||||
- `A2_GND` (between Pin 2 and GND)
|
- ``A2_GND`` (between Pin 2 and GND)
|
||||||
- `A3_GND` (between Pin 3 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:
|
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)
|
- ``6.144`` (measures up to 6.144V)
|
||||||
- `4.096` (measures up to 4.096V)
|
- ``4.096`` (measures up to 4.096V)
|
||||||
- `2.048` (measures up to 2.048V)
|
- ``2.048`` (measures up to 2.048V)
|
||||||
- `1.024` (measures up to 1.024V)
|
- ``1.024`` (measures up to 1.024V)
|
||||||
- `0.512` (measures up to 0.512V)
|
- ``0.512`` (measures up to 0.512V)
|
||||||
- `0.256` (measures up to 0.256V)
|
- ``0.256`` (measures up to 0.256V)
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 602 KiB |
|
@ -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>`__.
|
After Width: | Height: | Size: 272 KiB |
|
@ -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 |
After Width: | Height: | Size: 257 KiB |
|
@ -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 |
|
@ -13,19 +13,19 @@ The DHT Temperature+Humidity sensor allows you to use your DHT11
|
||||||
sensors with esphomelib.
|
sensors with esphomelib.
|
||||||
|
|
||||||
.. figure:: /esphomeyaml/components/sensor/dht22-full.jpg
|
.. figure:: /esphomeyaml/components/sensor/dht22-full.jpg
|
||||||
:align: center
|
:align: center
|
||||||
:target: `Adafruit`_
|
:target: `Adafruit`_
|
||||||
:width: 50.0%
|
:width: 50.0%
|
||||||
|
|
||||||
DHT22 Temperature & Humidity Sensor. Image by `Adafruit`_.
|
DHT22 Temperature & Humidity Sensor. Image by `Adafruit`_.
|
||||||
|
|
||||||
.. _Adafruit: https://www.adafruit.com/product/385
|
.. _Adafruit: https://www.adafruit.com/product/385
|
||||||
|
|
||||||
|image0|
|
|image0|
|
||||||
|
|
||||||
.. |image0| image:: /esphomeyaml/components/sensor/temperature-humidity.png
|
.. |image0| image:: /esphomeyaml/components/sensor/temperature-humidity.png
|
||||||
:class: align-center
|
:class: align-center
|
||||||
:width: 80.0%
|
:width: 80.0%
|
||||||
|
|
||||||
.. code:: yaml
|
.. code:: yaml
|
||||||
|
|
||||||
|
@ -68,3 +68,9 @@ Configuration variables:
|
||||||
sensor. Defaults to ``15s``.
|
sensor. Defaults to ``15s``.
|
||||||
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
|
- **id** (*Optional*, `id </esphomeyaml/configuration-types.html#id>`__): Manually specify the ID used for code
|
||||||
generation.
|
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.
|
||||||
|
|
After Width: | Height: | Size: 277 KiB |
|
@ -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.
|
After Width: | Height: | Size: 249 KiB |
|
@ -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
|
The ``ir_transmitter`` switch platform allows you to create switches
|
||||||
that send an IR code using the `IR Transmitter
|
that send an IR code using the `IR Transmitter
|
||||||
|
@ -32,17 +32,17 @@ signals on any pin by using the ``raw:`` option.
|
||||||
Configuration variables:
|
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.
|
- **name** (**Required**, string): The name for the switch.
|
||||||
- The IR code, see `Defining IR Codes <#defining-ir-codes>`__. Only one
|
- The IR code, see `Defining IR Codes <#defining-ir-codes>`__. Only one
|
||||||
of them can be specified per switch.
|
of them can be specified per switch.
|
||||||
- **repeat** (*Optional*, int): How often the command should be
|
- **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
|
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** (*Optional*,
|
||||||
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
|
`id </esphomeyaml/configuration-types.html#id>`__): Manually specify
|
||||||
the ID used for code generation.
|
the ID used for code generation.
|
||||||
|
@ -112,5 +112,5 @@ Configuration variables:
|
||||||
mean OFF.
|
mean OFF.
|
||||||
|
|
||||||
.. |image0| image:: /esphomeyaml/components/switch/ir-transmitter.png
|
.. |image0| image:: /esphomeyaml/components/switch/ir-transmitter.png
|
||||||
:class: align-center
|
:class: align-center
|
||||||
:width: 80.0%
|
:width: 80.0%
|
||||||
|
|
|
@ -80,16 +80,16 @@ Available Pin Modes:
|
||||||
|
|
||||||
- ``INPUT``
|
- ``INPUT``
|
||||||
- ``OUTPUT``
|
- ``OUTPUT``
|
||||||
- ``INPUT_PULLDOWN`` (only on ESP32)
|
|
||||||
- ``INPUT_PULLUP``
|
|
||||||
- ``OUTPUT_OPEN_DRAIN``
|
- ``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_PULLUP`` (only on ESP8266)
|
||||||
- ``WAKEUP_PULLDOWN`` (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``
|
- ``SPECIAL``
|
||||||
- ``FUNCTION_0`` (only on ESP8266)
|
- ``FUNCTION_0`` (only on ESP8266)
|
||||||
- ``FUNCTION_1``
|
- ``FUNCTION_1``
|
||||||
|
@ -102,20 +102,21 @@ Available Pin Modes:
|
||||||
Time
|
Time
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
In lots of places in esphomeyaml you need to define time lengths, most
|
In lots of places in esphomeyaml you need to define time periods.
|
||||||
notably of these is an ``update_interval`` in milliseconds. Internally,
|
There are several ways of doing this. See below examples to see how you can specify time periods:
|
||||||
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.
|
|
||||||
|
|
||||||
.. code:: yaml
|
.. code:: yaml
|
||||||
|
|
||||||
some_config_option:
|
some_config_option:
|
||||||
|
some_time_option: 1000us # 1000 microseconds = 1ms
|
||||||
some_time_option: 1000ms # 1000 milliseconds
|
some_time_option: 1000ms # 1000 milliseconds
|
||||||
some_time_option: 1.5s # 1.5 seconds
|
some_time_option: 1.5s # 1.5 seconds
|
||||||
some_time_option: 0.5min # half a minute
|
some_time_option: 0.5min # half a minute
|
||||||
some_time_option: 2h # 2 hours
|
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
|
milliseconds: 10
|
||||||
seconds: 30
|
seconds: 30
|
||||||
minutes: 25
|
minutes: 25
|
||||||
|
|
|
@ -103,9 +103,17 @@ Sensor Components
|
||||||
---------------------- ---------------------- ----------------------
|
---------------------- ---------------------- ----------------------
|
||||||
`HDC1080`_ `HTU21D`_ `MPU6050`_
|
`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
|
.. |Sensor Core| image:: /esphomeyaml/folder-open.svg
|
||||||
|
@ -152,6 +160,26 @@ Sensor Components
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _Ultrasonic Sensor: /esphomeyaml/components/sensor/ultrasonic.html
|
.. _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
|
Binary Sensor Components
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -160,6 +188,10 @@ Binary Sensor Components
|
||||||
|Binary Sensor Core|_ |GPIO|_ |Status|_
|
|Binary Sensor Core|_ |GPIO|_ |Status|_
|
||||||
---------------------- ---------------------- ----------------------
|
---------------------- ---------------------- ----------------------
|
||||||
`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
|
.. |Binary Sensor Core| image:: /esphomeyaml/folder-open.svg
|
||||||
|
@ -174,6 +206,14 @@ Binary Sensor Components
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _Status: /esphomeyaml/components/binary_sensor/status.html
|
.. _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
|
Output Components
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -211,15 +251,19 @@ Output Components
|
||||||
Light Components
|
Light Components
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
======================== ======================== ========================
|
============================ ============================ ============================
|
||||||
|Light Core|_ |Binary Light|_ |Monochromatic Light|_
|
|Light Core|_ |Binary Light|_ |Monochromatic Light|_
|
||||||
------------------------ ------------------------ ------------------------
|
---------------------------- ---------------------------- ----------------------------
|
||||||
`Light Core`_ `Binary Light`_ `Monochromatic Light`_
|
`Light Core`_ `Binary Light`_ `Monochromatic Light`_
|
||||||
------------------------ ------------------------ ------------------------
|
---------------------------- ---------------------------- ----------------------------
|
||||||
|RGB Light|_ |RGBW Light|_
|
|RGB Light|_ |RGBW Light|_ |FastLED Clockless Light|_
|
||||||
------------------------ ------------------------ ------------------------
|
---------------------------- ---------------------------- ----------------------------
|
||||||
`RGB Light`_ `RGBW Light`_
|
`RGB Light`_ `RGBW Light`_ `FastLED Clockless Light`_
|
||||||
======================== ======================== ========================
|
---------------------------- ---------------------------- ----------------------------
|
||||||
|
|FastLED SPI Light|_
|
||||||
|
---------------------------- ---------------------------- ----------------------------
|
||||||
|
`FastLED SPI Light`_
|
||||||
|
============================ ============================ ============================
|
||||||
|
|
||||||
|
|
||||||
.. |Light Core| image:: /esphomeyaml/folder-open.svg
|
.. |Light Core| image:: /esphomeyaml/folder-open.svg
|
||||||
|
@ -242,6 +286,14 @@ Light Components
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _RGBW Light: /esphomeyaml/components/light/rgbw.html
|
.. _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
|
Switch Components
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
@ -272,7 +324,7 @@ Switch Components
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _Restart Switch: /esphomeyaml/components/switch/restart.html
|
.. _Restart Switch: /esphomeyaml/components/switch/restart.html
|
||||||
|
|
||||||
.. |Shutdown Switch| image:: /esphomeyaml/power.svg
|
.. |Shutdown Switch| image:: /esphomeyaml/power_settings.svg
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _Shutdown Switch: /esphomeyaml/components/switch/shutdown.html
|
.. _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|_
|
||||||
------------------------ ------------------------ ------------------------
|
------------------------ ------------------------ ------------------------
|
||||||
`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
|
.. |Dallas Hub| image:: /esphomeyaml/ds18b20.jpg
|
||||||
|
@ -340,6 +396,14 @@ Misc Components
|
||||||
:class: component-image
|
:class: component-image
|
||||||
.. _PCF8574 I/O Expander: /esphomeyaml/components/pcf8574.html
|
.. _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
|
Full Index
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
@ -397,3 +461,14 @@ Full Index
|
||||||
components/fan/binary.rst
|
components/fan/binary.rst
|
||||||
components/fan/speed.rst
|
components/fan/speed.rst
|
||||||
components/pcf8574.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
|
||||||
|
|
|
@ -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 |
After Width: | Height: | Size: 291 KiB |
|
@ -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 |
After Width: | Height: | Size: 74 KiB |
|
@ -42,7 +42,7 @@ a light is a combination of output components.
|
||||||
api/binary_sensor/esp32_touch.rst
|
api/binary_sensor/esp32_touch.rst
|
||||||
api/misc/esp32_ble_tracker.rst
|
api/misc/esp32_ble_tracker.rst
|
||||||
api/sensor/tsl2561.rst
|
api/sensor/tsl2561.rst
|
||||||
api/sensor/bht1750.rst
|
api/sensor/bh1750.rst
|
||||||
api/sensor/bme280.rst
|
api/sensor/bme280.rst
|
||||||
api/sensor/bme680.rst
|
api/sensor/bme680.rst
|
||||||
api/sensor/sht3xd.rst
|
api/sensor/sht3xd.rst
|
||||||
|
|