diff --git a/Makefile b/Makefile index f54d4f5a1..e35231c8e 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ SOURCEDIR = . BUILDDIR = _build ESPHOMELIB_PATH = ../esphomelib -.PHONY: html cleanhtml minifyhtml doxyg cleandoxyg deploy help webserver Makefile +.PHONY: html cleanhtml doxyg cleandoxyg deploy help webserver Makefile html: _doxyxml $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) @@ -17,9 +17,6 @@ html: _doxyxml cleanhtml: cleandoxyg rm -rf "$(BUILDDIR)/html/*" -minifyhtml: html - ./minify.sh - doxyg: cleandoxyg _doxyxml cleandoxyg: @@ -28,7 +25,7 @@ cleandoxyg: _doxyxml: ESPHOMELIB_PATH=$(ESPHOMELIB_PATH) doxygen Doxygen -deploy: cleanhtml doxyg html minifyhtml +deploy: cleanhtml doxyg html touch "$(BUILDDIR)/html/.nojekyll" echo "esphomelib.com" >"$(BUILDDIR)/html/CNAME" cd "$(BUILDDIR)/html" && git add --all && git commit -m "Deploy to gh-pages" diff --git a/_static/custom.css b/_static/custom.css index 8f4be4dd7..ebc6d01c6 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -19,3 +19,30 @@ img.component-image { table.docutils { width: 100%; } + +.blink-tag { + -webkit-animation: 2s linear infinite blink_effect; + animation: 2s linear infinite blink_effect; +} +@-webkit-keyframes blink_effect { + 0% { + visibility: hidden; + } + 50% { + visibility: hidden; + } + 100% { + visibility: visible; +} +} +@keyframes blink_effect { + 0% { + visibility: hidden; + } + 50% { + visibility: hidden; + } + 100% { + visibility: visible; + } +} \ No newline at end of file diff --git a/api/binary_sensor/index.rst b/api/binary_sensor/index.rst index bffe47650..005bd81d1 100644 --- a/api/binary_sensor/index.rst +++ b/api/binary_sensor/index.rst @@ -19,6 +19,7 @@ Supported Binary Sensors status esp32_touch template + remote_receiver Example Usage ------------- diff --git a/api/binary_sensor/remote_receiver.rst b/api/binary_sensor/remote_receiver.rst new file mode 100644 index 000000000..55e41eeb7 --- /dev/null +++ b/api/binary_sensor/remote_receiver.rst @@ -0,0 +1,76 @@ +Remote Receiver +=============== + +.. cpp:namespace:: nullptr + +See :cpp:func:`Application::make_remote_receiver_component` and +:cpp:func:`Application::register_binary_sensor`. + +API Reference +------------- + +.. cpp:namespace:: nullptr + +.. doxygenclass:: remote::RemoteReceiverComponent + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::RemoteReceiver + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::RemoteReceiveDumper + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::LGReceiver + :members: + :protected-members: + :undoc-members: +.. doxygenclass:: remote::LGDumper + :members: + :protected-members: + :undoc-members: +.. doxygenfunction:: remote::decode_lg + +.. doxygenclass:: remote::NECReceiver + :members: + :protected-members: + :undoc-members: +.. doxygenclass:: remote::NECDumper + :members: + :protected-members: + :undoc-members: +.. doxygenfunction:: remote::decode_nec + +.. doxygenclass:: remote::PanasonicReceiver + :members: + :protected-members: + :undoc-members: +.. doxygenclass:: remote::PanasonicDumper + :members: + :protected-members: + :undoc-members: +.. doxygenfunction:: remote::decode_panasonic + +.. doxygenclass:: remote::SonyReceiver + :members: + :protected-members: + :undoc-members: +.. doxygenclass:: remote::SonyDumper + :members: + :protected-members: + :undoc-members: +.. doxygenfunction:: remote::decode_sony + +.. doxygenclass:: remote::RawReceiver + :members: + :protected-members: + :undoc-members: +.. doxygenclass:: remote::RawDumper + :members: + :protected-members: + :undoc-members: diff --git a/api/misc/esp32_ble_beacon.rst b/api/misc/esp32_ble_beacon.rst new file mode 100644 index 000000000..2f3c0f1ab --- /dev/null +++ b/api/misc/esp32_ble_beacon.rst @@ -0,0 +1,16 @@ +ESP32 Bluetooth Low Energy Beacon +================================= + +See :cpp:func:`Application::make_esp32_ble_beacon`. + +API Reference +------------- + +.. cpp:namespace:: nullptr + +.. doxygenclass:: ESP32BLEBeacon + :members: + :protected-members: + :undoc-members: + +.. doxygenvariable:: global_esp32_ble_beacon diff --git a/api/misc/esp32_ble_tracker.rst b/api/misc/esp32_ble_tracker.rst index c5dbe70e8..c5d5c590e 100644 --- a/api/misc/esp32_ble_tracker.rst +++ b/api/misc/esp32_ble_tracker.rst @@ -21,8 +21,6 @@ API Reference .. cpp:namespace:: nullptr -.. doxygenenum:: PCF8574GPIOMode - .. doxygenclass:: ESP32BLETracker :members: :protected-members: diff --git a/api/misc/index.rst b/api/misc/index.rst index 95b4f9351..3722329b1 100644 --- a/api/misc/index.rst +++ b/api/misc/index.rst @@ -2,6 +2,9 @@ Miscellaneous Components ======================== .. toctree:: - PCF8574 - ESP32 Bluetooth Low Energy Tracker - Debug Component + + pcf8574 + esp32_ble_tracker + debug + status_led + esp32_ble_beacon diff --git a/api/misc/status_led.rst b/api/misc/status_led.rst new file mode 100644 index 000000000..64c8e5e55 --- /dev/null +++ b/api/misc/status_led.rst @@ -0,0 +1,16 @@ +Status LED +========== + +See :cpp:func:`Application::make_status_led`. + +API Reference +------------- + +.. cpp:namespace:: nullptr + +.. doxygenclass:: StatusLEDComponent + :members: + :protected-members: + :undoc-members: + +.. doxygenvariable:: global_status_led diff --git a/api/sensor/duty_cycle.rst b/api/sensor/duty_cycle.rst new file mode 100644 index 000000000..d3e772d6f --- /dev/null +++ b/api/sensor/duty_cycle.rst @@ -0,0 +1,16 @@ +Duty Cycle Sensor +================= + +See :cpp:func:`Application::make_duty_cycle_sensor`. + +API Reference +------------- + +.. cpp:namespace:: nullptr + +.. doxygenclass:: sensor::DutyCycleSensor + :members: + :protected-members: + :undoc-members: + +.. doxygenvariable:: sensor::duty_cycle_sensors diff --git a/api/sensor/index.rst b/api/sensor/index.rst index 687d07460..6bb431ce8 100644 --- a/api/sensor/index.rst +++ b/api/sensor/index.rst @@ -29,6 +29,8 @@ See :cpp:func:`Application::register_sensor`. max6675.rst rotary_encoder.rst template.rst + duty_cycle.rst + wifi_signal.rst API Reference diff --git a/api/switch/index.rst b/api/switch/index.rst index 5d14e93c7..b60e4dacf 100644 --- a/api/switch/index.rst +++ b/api/switch/index.rst @@ -5,7 +5,7 @@ The `switch_` namespace contains all switch helpers. .. toctree:: - ir-transmitter + remote_transmitter restart shutdown template diff --git a/api/switch/ir-transmitter.rst b/api/switch/ir-transmitter.rst deleted file mode 100644 index 536acffb4..000000000 --- a/api/switch/ir-transmitter.rst +++ /dev/null @@ -1,44 +0,0 @@ -IR Transmitter -============== - -Example Usage -------------- - -.. code-block:: cpp - - // at the top of your file: - using namespace switch_::ir_; - - // Create the hub - auto *ir = App.make_ir_transmitter(32); - // Create switches - auto *panasonic_on = ir->create_transmitter("Panasonic TV On", SendData::from_panasonic(0x4004, 0x100BCBD).repeat(25)); - App.register_switch(panasonic_on); - App.register_switch(ir->create_transmitter("Panasonic TV Volume Up", SendData::from_panasonic(0x4004, 0x1000405))); - -.. cpp:namespace:: nullptr - -See :cpp:func:`Application::make_ir_transmitter` and :cpp:func:`Application::register_switch`. - -API Reference -------------- - -.. cpp:namespace:: nullptr - -IRTransmitterComponent -********************** - -.. doxygenclass:: switch_::IRTransmitterComponent - :members: - :protected-members: - :undoc-members: - -.. doxygenvariable:: switch_::next_rmt_channel - -SendData -******** - -.. doxygennamespace:: switch_::ir - :members: - :protected-members: - :undoc-members: diff --git a/api/switch/remote_transmitter.rst b/api/switch/remote_transmitter.rst new file mode 100644 index 000000000..db4cba54d --- /dev/null +++ b/api/switch/remote_transmitter.rst @@ -0,0 +1,57 @@ +Remote Transmitter +================== + +.. cpp:namespace:: nullptr + +See :cpp:func:`Application::make_remote_transmitter_component` and +:cpp:func:`Application::register_switch`. + +API Reference +------------- + +.. cpp:namespace:: nullptr + +.. doxygenclass:: remote::RemoteTransmitterComponent + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::RemoteTransmitter + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::RemoteTransmitData + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::RemoteControlComponentBase + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::LGTransmitter + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::NECTransmitter + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::PanasonicTransmitter + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::RawTransmitter + :members: + :protected-members: + :undoc-members: + +.. doxygenclass:: remote::SonyTransmitter + :members: + :protected-members: + :undoc-members: diff --git a/esphomeyaml/binary_sensor.csv b/esphomeyaml/binary_sensor.csv index 52b537ece..d124a3966 100644 --- a/esphomeyaml/binary_sensor.csv +++ b/esphomeyaml/binary_sensor.csv @@ -1,6 +1,7 @@ Binary Sensor Core, components/binary_sensor/index, folder-open.svg GPIO, components/binary_sensor/gpio, pin.svg Status, components/binary_sensor/status, server-network.svg -ESP32 BLE Device, components/binary_sensor/esp32_ble, bluetooth.svg +ESP32 BLE Device, components/binary_sensor/esp32_ble_tracker, bluetooth.svg ESP32 Touch Pad, components/binary_sensor/esp32_touch, touch.svg Template Binary Sensor, components/binary_sensor/template, description.svg +Remote Receiver, components/binary_sensor/remote_receiver, remote.svg diff --git a/esphomeyaml/components/binary_sensor/esp32_ble.rst b/esphomeyaml/components/binary_sensor/esp32_ble_tracker.rst similarity index 85% rename from esphomeyaml/components/binary_sensor/esp32_ble.rst rename to esphomeyaml/components/binary_sensor/esp32_ble_tracker.rst index d9edfc112..68d93c7b6 100644 --- a/esphomeyaml/components/binary_sensor/esp32_ble.rst +++ b/esphomeyaml/components/binary_sensor/esp32_ble_tracker.rst @@ -1,12 +1,12 @@ ESP32 Bluetooth Low Energy Device ================================= -The ``esp32_ble`` binary sensor platform lets you track the presence of a +The ``esp32_ble_tracker`` binary sensor platform lets you track the presence of a bluetooth low energy device. .. note:: - See the :doc:`ESP32 BLE Hub Page ` for + See the :doc:`ESP32 BLE Hub Page ` for current limitations of this platform .. figure:: images/esp32_ble-ui.png @@ -16,11 +16,11 @@ bluetooth low energy device. .. code:: yaml # Example configuration entry - esp32_ble: + esp32_ble_tracker: scan_interval: 300s binary_sensor: - - platform: esp32_ble + - platform: esp32_ble_tracker mac_address: AC:37:43:77:5F:4C name: "ESP32 BLE Tracker Google Home Mini" @@ -40,7 +40,7 @@ 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 +however, you can use the ``esp32_ble_tracker`` hub without any binary sensors attached and read through the logs to see discovered Bluetooth Low Energy devices. .. code:: yaml @@ -60,8 +60,8 @@ tracking, since their MAC-address periodically changes. See Also ^^^^^^^^ -- :doc:`/esphomeyaml/components/esp32_ble` +- :doc:`/esphomeyaml/components/esp32_ble_tracker` - :doc:`/esphomeyaml/components/binary_sensor/index` - :doc:`API Reference ` -- `Edit this page on GitHub `__ +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/binary_sensor/gpio.rst b/esphomeyaml/components/binary_sensor/gpio.rst index 9e36c8e21..81046cef5 100644 --- a/esphomeyaml/components/binary_sensor/gpio.rst +++ b/esphomeyaml/components/binary_sensor/gpio.rst @@ -26,6 +26,66 @@ Configuration variables: - All other options from :ref:`Binary Sensor ` and :ref:`MQTT Component `. +.. note:: + + For some applications such as reed switches you need to set the pin mode to ``INPUT_PULLUP`` + like this: + + .. code:: yaml + + binary_sensor: + - platform: gpio + pin: + number: D2 + mode: INPUT_PULLUP + name: ... + +Inverting Values +~~~~~~~~~~~~~~~~ + +Use the ``inverted`` property of the :ref:`Pin Schema ` to invert the binary +sensor: + +.. code:: yaml + + # Example configuration entry + binary_sensor: + - platform: gpio + pin: + number: D2 + inverted: True + name: ... + +Debouncing Values +~~~~~~~~~~~~~~~~~ + +Some binary sensors are a bit unstable and quickly transition between the ON and OFF state while +they're pressed. To fix this and debounce the signal, use the :ref:`binary sensor filters `: + +.. code:: yaml + + # Example configuration entry + binary_sensor: + - platform: gpio + pin: D2 + name: ... + filters: + - delayed_on: 10ms + +Above example will only make the signal go high if the button has stayed high for more than 10ms. +Alternatively, below configuration will make the binary sensor publish an ON value immediately, but +will wait 10ms before publishing an OFF value: + +.. code:: yaml + + # Example configuration entry + binary_sensor: + - platform: gpio + pin: D2 + name: ... + filters: + - delayed_off: 10ms + See Also ^^^^^^^^ diff --git a/esphomeyaml/components/binary_sensor/index.rst b/esphomeyaml/components/binary_sensor/index.rst index 9bdb78048..d1ca3182d 100644 --- a/esphomeyaml/components/binary_sensor/index.rst +++ b/esphomeyaml/components/binary_sensor/index.rst @@ -26,9 +26,11 @@ Configuration variables: - **device_class** (*Optional*, string): The device class for the sensor. See https://www.home-assistant.io/components/binary_sensor/ for a list of available options. -- **inverted** (*Optional*, boolean): Whether to invert the binary - sensor output, i.e. report ON states as OFF and vice versa. Defaults - to ``False``. +- **filters** (*Optional*, list): A list of filters to apply on the binary sensor values such as + inverting signals. See :ref:`binary_sensor-filters`. + +Automations: + - **on_press** (*Optional*, :ref:`Automation `): An automation to perform when the button is pressed. See :ref:`binary_sensor-on_press`. - **on_release** (*Optional*, :ref:`Automation `): An automation to perform @@ -36,13 +38,52 @@ Configuration variables: - **on_click** (*Optional*, :ref:`Automation `): An automation to perform when the button is held down for a specified period of time. See :ref:`binary_sensor-on_click`. -- **on_click** (*Optional*, :ref:`Automation `): An automation to perform +- **on_double_click** (*Optional*, :ref:`Automation `): An automation to perform when the button is pressed twice for specified periods of time. See :ref:`binary_sensor-on_double_click`. - All other options from :ref:`MQTT Component `. +.. _binary_sensor-filters: + +Binary Sensor Filters +--------------------- + +With binary sensor filters you can customize how esphomelib handles your binary sensor values even more. +They are similar to :ref:`Sensor Filters `. + +.. code:: yaml + + binary_sensor: + - platform: ... + # ... + filters: + - invert: + - delayed_on: 100ms + - delay_off: 100ms + - lambda: >- + if (id(other_binary_sensor).value) { + return x; + } else { + return {}; + } + +Supported filters: + +- **invert**: Simple filter that just inverts every value from the binary sensor. +- **delayed_on**: When a signal ON is received, wait for the specified time period until publishing + an ON state. If an OFF value is received while waiting, the ON action is discarded. Or in other words: + Only send an ON value if the binary sensor has stayed ON for at least the specified time period. + **Useful for debouncing push buttons**. +- **delayed_on**: When a signal OFF is received, wait for the specified time period until publishing + an OFF state. If an ON value is received while waiting, the OFF action is discarded. Or in other words: + Only send an OFF value if the binary sensor has stayed OFF for at least the specified time period. + **Useful for debouncing push buttons**. +- **lambda**: Specify any :ref:`lambda ` for more complex filters. The input value from + the binary sensor is ``x`` and you can return ``true`` for ON, ``false`` for OFF, and ``{}`` to stop + the filter chain. + Binary Sensor Automation -^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------ The triggers for binary sensors in esphomeyaml use the lingo from computer mouses. This naming might not perfectly fit every use case, but at least makes the naming consistent. For example, a ``press`` is triggered @@ -190,6 +231,7 @@ See Also gpio.rst status.rst - esp32_ble.rst + esp32_ble_tracker.rst esp32_touch.rst template.rst + remote_receiver.rst diff --git a/esphomeyaml/components/binary_sensor/remote_receiver.rst b/esphomeyaml/components/binary_sensor/remote_receiver.rst new file mode 100644 index 000000000..3621d419d --- /dev/null +++ b/esphomeyaml/components/binary_sensor/remote_receiver.rst @@ -0,0 +1,45 @@ +Remote Receiver Binary Sensor +============================= + +The ``remote_receiver`` binary sensor lets you track when a button on a remote control is pressed. + +Each time the pre-defined signal is received, the binary sensor will briefly go ON and +then immediately OFF. + +.. code:: yaml + + # Example configuration entry + remote_receiver: + pin: GPIO32 + dump: all + + binary_sensor: + - platform: remote_receiver + panasonic: + address: 0x4004 + command: 0x100BCBD + +Configuration variables: +~~~~~~~~~~~~~~~~~~~~~~~~ + +- **name** (**Required**, string): The name for the binary sensor. +- The remote code, see :ref:`remote_transmitter-codes`. Only one + of them can be specified per binary sensor. +- **remote_receiver_id** (*Optional*, :ref:`config-id`): The id of the :doc:`/esphomeyaml/components/remote_receiver`. + Defaults to the first hub in your configuration. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- All other options from :ref:`Binary Sensor ` + and :ref:`MQTT Component `. + +.. note:: + + See :ref:`finding_remote_codes` for a guide for setting this up. + +See Also +-------- + +- :doc:`index` +- :doc:`/esphomeyaml/components/remote_receiver` +- :doc:`/esphomeyaml/components/remote_transmitter` +- :doc:`API Reference ` +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/deep_sleep.rst b/esphomeyaml/components/deep_sleep.rst index c3b19a512..2b5b3d86f 100644 --- a/esphomeyaml/components/deep_sleep.rst +++ b/esphomeyaml/components/deep_sleep.rst @@ -43,7 +43,7 @@ Configuration variables: .. note:: - The :ref:`availability feature `__ of the MQTT client will cause all values + The :ref:`availability feature ` of the MQTT client will cause all values from the node to be displayed as "unavailable" while the node is in deep sleep mode. To disable availability reporting and not have any "unavailable" values, set ``availability`` to an empty value: diff --git a/esphomeyaml/components/esp32_ble_beacon.rst b/esphomeyaml/components/esp32_ble_beacon.rst new file mode 100644 index 000000000..2b857ff15 --- /dev/null +++ b/esphomeyaml/components/esp32_ble_beacon.rst @@ -0,0 +1,75 @@ +ESP32 Bluetooth Low Energy Beacon +================================= + +The ``esp32_ble_beacon`` component creates a Bluetooth Low Energy Beacon with your ESP32 device. +Beacons are BLE devices that repeatedly just send out a pre-defined packet of data. This packet +can then be received by devices like smartphones and can then be used to track a phone's location. + + +.. code:: yaml + + # Example configuration entry + esp32_ble_beacon: + type: iBeacon + uuid: 'c29ce823-e67a-4e71-bff2-abaa32e77a98' + +Configuration variables: +------------------------ + +- **type** (**Required**): The type of beacon to create, currently only supports ``iBeacon``. +- **uuid** (**Required**): The `universally unique identifier `__ + to identify the beacon. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for code generation. + +Advanced options: + +- **major** (*Optional*, integer): The iBeacon major identifier of this beacon. Usually used to + group beacons, for example for grouping all beacons in the same building, but has no effect if + the BLE receiver doesn't use it. Defaults to ``10167``. +- **minor** (*Optional*, integer): The iBeacon minor identifier of this beacon. Usually used to + identify beacons within an iBeacon group. Defaults to ``61958``. + +Setting Up +---------- + +First, you'll need to set up the configuration for esphomeyaml. Just copy above configuration and +change the UUID to something unique. For example, you can copy below randomly generated UUID: + +.. raw:: html + + + + +Then, just compile and flash the ESP32. Note that esphomeyaml needs to increase the size of the code +partitions of the ESP32 because BLE can take up a lot of space. It does this automatically, but you need +to flash the ESP32 via USB when enabling or disabling this component. + +When everything is set up correctly, you should see a show up using your iBeacon scanner of choice. On iPhones, +this should already work from the bluetooth screen (not tested), on Android, you will need to use an app like +`"Beacon Scanner" `__ by Nicolas Bridoux. + +For using these beacons to track the location of your phone, you will need to use another app. For example, I used +`this guide by the owntracks `__ app to let my Home Automation system +know when I'm home or away. + +.. figure:: images/esp32_ble_beacon-ibeacon.png + :align: center + :width: 75.0% + +See Also +-------- + +- :doc:`binary_sensor/esp32_ble_tracker` +- :doc:`API Reference ` +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/esp32_ble.rst b/esphomeyaml/components/esp32_ble_tracker.rst similarity index 81% rename from esphomeyaml/components/esp32_ble.rst rename to esphomeyaml/components/esp32_ble_tracker.rst index d29cfdb23..0d1bc216d 100644 --- a/esphomeyaml/components/esp32_ble.rst +++ b/esphomeyaml/components/esp32_ble_tracker.rst @@ -1,7 +1,7 @@ -ESP32 Bluetooth Low Energy Hub -============================== +ESP32 Bluetooth Low Energy Tracker Hub +====================================== -The ``esp32_ble`` component creates a global hub so that you can track bluetooth low +The ``esp32_ble_tracker`` 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 @@ -23,11 +23,11 @@ for information on how you can find out the MAC address of a device and track it .. code:: yaml # Example configuration entry - esp32_ble: + esp32_ble_tracker: scan_interval: 300s binary_sensor: - - platform: esp32_ble + - platform: esp32_ble_tracker mac_address: AC:37:43:77:5F:4C name: "ESP32 BLE Tracker Google Home Mini" @@ -41,6 +41,6 @@ Configuration variables: See Also ^^^^^^^^ -- :doc:`binary_sensor/esp32_ble` +- :doc:`binary_sensor/esp32_ble_tracker` - :doc:`API Reference ` -- `Edit this page on GitHub `__ +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/esphomeyaml.rst b/esphomeyaml/components/esphomeyaml.rst index 8814cb314..74147c5b3 100644 --- a/esphomeyaml/components/esphomeyaml.rst +++ b/esphomeyaml/components/esphomeyaml.rst @@ -28,6 +28,9 @@ Configuration variables: from `this list `__ and use `this list `__ for ESP8266-based boards. + +Advanced options: + - **library_uri** (*Optional*, string): You can manually specify the `version of esphomelib `__ to use here. Accepts all parameters of `platformio lib @@ -41,6 +44,12 @@ Configuration variables: build flags that specifically set what should be included in the binary. Most of this is already done automatically by the linker but this option can help with shrinking the firmware size while slowing down compilation. Defaults to ``true``. +- **build_path** (*Optional*, string): Customize where esphomeyaml will store the build files + for your node. By default, esphomeyaml puts all platformio project files under a folder ``/``, + but you can customize this behavior using this option. + +Automations: + - **on_boot** (*Optional*, :ref:`Automation `): An automation to perform when the node starts. See :ref:`esphomeyaml-on_boot`. - **on_shutdown** (*Optional*, :ref:`Automation `): An automation to perform diff --git a/esphomeyaml/components/i2c.rst b/esphomeyaml/components/i2c.rst index 4259de173..ac1d9bc06 100644 --- a/esphomeyaml/components/i2c.rst +++ b/esphomeyaml/components/i2c.rst @@ -26,8 +26,6 @@ Configuration variables: Note that this can slow down startup and is only recommended for when setting up new sensors. Defaults to ``False``. - **frequency** (*Optional*, float): Set the frequency the i²c bus should operate on. Defaults to “100kHz”. -- **receive_timeout** (*Optional*, :ref:`config-time`): Advanced: Set a timeout - for operations on the i2c bus. Defaults to 100ms. .. note:: diff --git a/esphomeyaml/components/images/esp32_ble_beacon-ibeacon.png b/esphomeyaml/components/images/esp32_ble_beacon-ibeacon.png new file mode 100644 index 000000000..e7a068cfe Binary files /dev/null and b/esphomeyaml/components/images/esp32_ble_beacon-ibeacon.png differ diff --git a/esphomeyaml/components/index.rst b/esphomeyaml/components/index.rst index 2adf8af94..7ffa7fd20 100644 --- a/esphomeyaml/components/index.rst +++ b/esphomeyaml/components/index.rst @@ -14,11 +14,12 @@ Components dallas debug deep_sleep - esp32_ble + esp32_ble_tracker esp32_touch esphomeyaml i2c - ir_transmitter + remote_transmitter + remote_receiver logger mqtt ota @@ -27,3 +28,5 @@ Components power_supply web_server wifi + esp32_ble_beacon + status_led diff --git a/esphomeyaml/components/ir_transmitter.rst b/esphomeyaml/components/ir_transmitter.rst deleted file mode 100644 index 15d1d4af8..000000000 --- a/esphomeyaml/components/ir_transmitter.rst +++ /dev/null @@ -1,46 +0,0 @@ -IR Transmitter Component -======================== - -The IR transmitter component lets you send infrared messages to control devices in your home. -First, you need to setup a global hub that specifies which pin your IR -led is connected to. Afterwards you can create :doc:`individual -switches ` that -each send a pre-defined IR code to a device. - -.. note:: - - This component is *much* more accurate on the ESP32, since that chipset has a dedicated - peripheral for sending exact signal sequences. - -.. code:: yaml - - # Example configuration entry - ir_transmitter: - - id: 'ir_hub1' - pin: 32 - - # Individual switches - switch: - - platform: ir_transmitter - ir_transmitter_id: 'ir_hub1' - name: "Panasonic TV Off" - panasonic: - address: 0x4004 - command: 0x100BCBD - -Configuration variables: ------------------------- - -- **pin** (**Required**, :ref:`config-pin`): The pin of the IR LED. -- **carrier_duty_percent** (*Optional*, int): The duty percentage of - the carrier. 50 for example means that the LED will be on 50% of the - time. Must be in range from 1 to 100. Defaults to 50. -- **id** (*Optional*, :ref:`config-id`): Manually specify - the ID used for code generation. Use this if you have multiple IR - transmitters. - -See Also --------- - -- :doc:`API Reference ` -- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/mqtt.rst b/esphomeyaml/components/mqtt.rst index f57ddc676..3fbc002a7 100644 --- a/esphomeyaml/components/mqtt.rst +++ b/esphomeyaml/components/mqtt.rst @@ -46,6 +46,8 @@ Configuration variables: - **ssl_fingerprints** (*Optional*, list): Only on ESP8266. A list of SHA1 hashes used for verifying SSL connections. See :ref:`mqtt-ssl_fingerprints` for more information. +- **reboot_timeout** (*Optional*, :ref:`time `): The amount of time to wait before rebooting when no + MQTT connection exists. Can be disabled by setting this to ``0s``. Defaults to ``60s``. - **keepalive** (*Optional*, :ref:`config-time`): The time to keep the MQTT socket alive, decreasing this can help with overall stability due to more WiFi traffic with more pings. Defaults to 15 seconds. @@ -250,6 +252,9 @@ Configuration variables: - **command_topic** (*Optional*, string): The topic to subscribe to for commands from the remote. Defaults to ``///command``. +- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will + not send any MQTT messages and can be used for :ref:`on-device automations `. Only + specifying an ``id`` without a ``name`` will implicitly set this to true. .. warning:: diff --git a/esphomeyaml/components/remote_receiver.rst b/esphomeyaml/components/remote_receiver.rst new file mode 100644 index 000000000..501d7fbac --- /dev/null +++ b/esphomeyaml/components/remote_receiver.rst @@ -0,0 +1,52 @@ +Remote Receiver Component +========================= + +The ``remote_receiver`` component lets you receive and decode any remote signal, these can +for example be infrared remotes or 433MHz signals. + +The component is split up into two parts: the remote receiver hub which can be used to +receive, decode and dump all remote codes, and individual +:doc:`remote receiver binary sensors ` which will trigger when they +hear their own configured signal. + +.. code:: yaml + + # Example configuration entry + remote_receiver: + pin: GPIO32 + dump: all + + +Configuration variables: +------------------------ + +- **pin** (**Required**, :ref:`config-pin`): The pin to receive the remote signal on. +- **dump** (*Optional*, list): Decode and dump these remote codes in the logs. Set to ``all`` to + dump all available codecs: + + - **lg**: Decode and dump LG infrared codes. + - **nec**: Decode and dump NEC infrared codes. + - **panasonic**: Decode and dump Panasonic infrared codes. + - **sony**: Decode and dump Sony infrared codes. + - **raw**: Print all remote codes in their raw form. Useful for using arbitrary protocols. + +- **tolerance** (*Optional*, int): The percentage that the remote signal lengths can devicate in the + decoding process. Defaults to ``25%``. +- **buffer_size** (*Optional*, int): The size of the internal buffer for storing the remote codes. Defaults to ``10kb`` + on the ESP32 and ``1kb`` on the ESP8266. +- **filter** (*Optional*, :ref:`time `): Filter any pulses that are shorter than this. Useful for removing + glitches from noisy signals. Defaults to ``10us``. +- **idle** (*Optional*, :ref:`time `): The amount of time that a signal should remain stable (i.e. not + change) for it to be considered complete. Defaults to ``10ms``. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. Use this if you have + multiple remote transmitters. + +.. note:: + + See :ref:`finding_remote_codes` for a guide for setting this up. + +See Also +-------- + +- :doc:`API Reference ` +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/remote_transmitter.rst b/esphomeyaml/components/remote_transmitter.rst new file mode 100644 index 000000000..3690004df --- /dev/null +++ b/esphomeyaml/components/remote_transmitter.rst @@ -0,0 +1,49 @@ +Remote Transmitter Component +============================ + +The ``remote_transmitter`` component lets you send infrared messages to control +devices in your home. First, you need to setup a global hub that specifies which pin your remote +sender is connected to. Afterwards you can create :doc:`individual +switches ` that each send a pre-defined remote signal to a device. + +Use-cases are for example infrared remotes or 433MHz signals. + +.. note:: + + This component is *much* more accurate on the ESP32, since that chipset has a dedicated + peripheral for sending exact signal sequences. + +.. code:: yaml + + # Example configuration entry + remote_transmitter: + pin: GPIO32 + carrier_duty_percent: 50% + + # Individual switches + switch: + - platform: remote_transmitter + name: "Panasonic TV Off" + panasonic: + address: 0x4004 + command: 0x100BCBD + +Configuration variables: +------------------------ + +- **pin** (**Required**, :ref:`config-pin`): The pin to transmit the remote signal on. +- **carrier_duty_percent** (*Optional*, int): How much of the time the remote is on. For example, infrared + protocols modulate the signal using a carrier signal. Set this is ``50%`` if you're working with IR leds and to + ``100%`` if working with a other things like 433MHz transmitters. +- **id** (*Optional*, :ref:`config-id`): Manually specify + the ID used for code generation. Use this if you have multiple remote transmitters. + +.. note:: + + See :ref:`finding_remote_codes` for a guide for setting this up. + +See Also +-------- + +- :doc:`API Reference ` +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/sensor/duty_cycle.rst b/esphomeyaml/components/sensor/duty_cycle.rst new file mode 100644 index 000000000..6fe1a3d22 --- /dev/null +++ b/esphomeyaml/components/sensor/duty_cycle.rst @@ -0,0 +1,28 @@ +Duty Cycle Sensor +================= + +The duty cycle sensor allows you to measure for what percentage of time a signal +on a GPIO pin is HIGH or LOW. + +For example, you can measure if a status LED of a pool controller is permanently active +(indicating that the pump is on) or blinking. + +.. figure:: images/duty_cycle-ui.png + :align: center + :width: 80.0% + +.. code:: yaml + + # Example configuration entry + sensor: + - platform: duty_cycle + pin: D0 + name: Duty Cycle Sensor + +Configuration variables: +------------------------ + +- **pin** (*Optional*, :ref:`Pin Schema `): The pin to observe for the duty + cycle. +- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``15s``. + See :ref:`sensor-default_filter`. diff --git a/esphomeyaml/components/sensor/images/duty_cycle-ui.png b/esphomeyaml/components/sensor/images/duty_cycle-ui.png new file mode 100644 index 000000000..6488c6bbe Binary files /dev/null and b/esphomeyaml/components/sensor/images/duty_cycle-ui.png differ diff --git a/esphomeyaml/components/sensor/index.rst b/esphomeyaml/components/sensor/index.rst index b1695c6eb..a2400618e 100644 --- a/esphomeyaml/components/sensor/index.rst +++ b/esphomeyaml/components/sensor/index.rst @@ -43,6 +43,9 @@ Configuration variables: - **filters** (*Optional*): Specify filters to use for some basic transforming of values. Defaults to a basic sliding window moving average over the last few values. See :ref:`Sensor Filters ` for more information. + +Automations: + - **on_value** (*Optional*, :ref:`Automation `): An automation to perform when a new value is published. See :ref:`sensor-on_value`. - **on_value_range** (*Optional*, :ref:`Automation `): An automation to perform @@ -322,3 +325,5 @@ See Also max6675.rst esp32_hall.rst custom.rst + duty_cycle.rst + wifi_signal.rst diff --git a/esphomeyaml/components/sensor/pulse_counter.rst b/esphomeyaml/components/sensor/pulse_counter.rst index e454fbdcc..9c9bceed7 100644 --- a/esphomeyaml/components/sensor/pulse_counter.rst +++ b/esphomeyaml/components/sensor/pulse_counter.rst @@ -1,8 +1,10 @@ -ESP32 Pulse Counter Sensor -========================== +Pulse Counter Sensor +==================== -The pulse counter sensor allows you to count the number of pulses on a -specific pin using the `pulse counter +The pulse counter sensor allows you to count the number of pulses and the frequency of a signal +on any pin. + +On the ESP32, this sensor is even highly accurate because it's using the hardware `pulse counter peripheral `__ on the ESP32. @@ -23,10 +25,6 @@ Configuration variables: - **pin** (**Required**, :ref:`config-pin`): The pin to count pulses on. - **name** (**Required**, string): The name of the sensor. -- **pull_mode** (*Optional*): The `pull - mode `__ - of the pin. One of ``PULLUP``, ``PULLDOWN``, ``PULLUP_PULLDOWN``, - ``FLOATING``. Defaults to ``FLOATING``. - **count_mode** (*Optional*): Configure how the counter should behave on a detected rising edge/falling edge. diff --git a/esphomeyaml/components/status_led.rst b/esphomeyaml/components/status_led.rst new file mode 100644 index 000000000..0b64bce3e --- /dev/null +++ b/esphomeyaml/components/status_led.rst @@ -0,0 +1,43 @@ +Status LED +========== + +The ``status_led`` hooks into all esphomelib components and can indicate the status of +the device. Specifically, it will: + +- Blink slowly (about every second) when a **warning** is active. Warnings are active when for + example reading a sensor value fails temporarily or the WiFi/MQTT connections are disrupted. +- Blink quickly (multiple times per second) when an **error** is active. Errors indicate that + esphomelib has found an error while setting up. In most cases, esphomelib will still try to + recover from the error and continue with all other operations. +- Stay off otherwise. + +.. code:: yaml + + # Example configuration entry + status_led: + pin: GPIO2 + +Configuration variables: +------------------------ + +- **pin** (**Required**, :ref:`Pin Schema `): The + GPIO pin to operate the status LED on. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. + +.. note:: + + If your LED is in an active-LOW mode (when it's on if the output is enabled), use the + ``inverted`` option of the :ref:`Pin Schema `: + + .. code:: yaml + + status_led: + pin: + number: D0 + inverted: True + +See Also +-------- + +- :doc:`API Reference ` +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/switch/images/ir_transmitter-ui.png b/esphomeyaml/components/switch/images/remote_transmitter-ui.png similarity index 100% rename from esphomeyaml/components/switch/images/ir_transmitter-ui.png rename to esphomeyaml/components/switch/images/remote_transmitter-ui.png diff --git a/esphomeyaml/components/switch/images/rf_receiver-log_raw.png b/esphomeyaml/components/switch/images/rf_receiver-log_raw.png new file mode 100644 index 000000000..16db7e570 Binary files /dev/null and b/esphomeyaml/components/switch/images/rf_receiver-log_raw.png differ diff --git a/esphomeyaml/components/switch/index.rst b/esphomeyaml/components/switch/index.rst index c1684cbc9..78efe8231 100644 --- a/esphomeyaml/components/switch/index.rst +++ b/esphomeyaml/components/switch/index.rst @@ -117,6 +117,6 @@ See Also gpio.rst shutdown.rst output.rst - ir_transmitter.rst + remote_transmitter.rst restart.rst template.rst diff --git a/esphomeyaml/components/switch/ir_transmitter.rst b/esphomeyaml/components/switch/ir_transmitter.rst deleted file mode 100644 index 2f3a37263..000000000 --- a/esphomeyaml/components/switch/ir_transmitter.rst +++ /dev/null @@ -1,114 +0,0 @@ -IR Transmitter Switch -===================== - -The ``ir_transmitter`` switch platform allows you to create switches -that send an IR code using the :doc:`/esphomeyaml/components/ir_transmitter`. Every time -the switch is turned on, the IR signal with the provided IR code is sent -out. - -Theoretically this platform can also be used to create arbitrary output -signals on any pin by using the ``raw:`` option. - -.. figure:: images/ir_transmitter-ui.png - :align: center - :width: 80.0% - -.. code:: yaml - - # Example configuration entry - ir_transmitter: - pin: 32 - - # Individual switches - switch: - - platform: ir_transmitter - name: "Panasonic TV Off" - panasonic: - address: 0x4004 - command: 0x100BCBD - repeat: 25 - -Configuration variables: -~~~~~~~~~~~~~~~~~~~~~~~~ - -- **name** (**Required**, string): The name for the switch. -- The IR code, see :ref:`ir_transmitter-ir_codes`. Only one - of them can be specified per switch. -- **repeat** (*Optional*, int): How often the command should be - repeated. Additionally, an ``wait_time`` option can be specified in the ``repeat`` section - to set how long to wait in between repeats. Defaults to 1 (code is - sent once). Example: ``repeat\: \{times\: 10, wait_time\: 20us\}`` -- **ir_transmitter_id** (*Optional*, :ref:`config-id`): The id of the :doc:`/esphomeyaml/components/ir_transmitter`. - Defaults to the first hub specified. -- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. -- All other options from :ref:`Switch ` and :ref:`MQTT Component `. - -.. _ir_transmitter-ir_codes: - -Defining IR Codes -~~~~~~~~~~~~~~~~~ - -To get the IR codes, first use an Arduino or similar device with an IR -Receiver and upload the `Aruino-IRRemote IRRecvDump -sketch `__. -Then press the buttons on the remote and observe the serial monitor. It -should include all the information needed to setup these IR codes. - -.. code:: yaml - - nec: - address: 0x4242 - command: 0x8484 - lg: - data: 0x01234567890ABC - nbits: 28 - sony: - data: 0xABCDEF - nbits: 12 - panasonic: - address: 0x4004 - command: 0x1000BCD - raw: - carrier_frequency: 35kHz - data: - - 1000 - - -1000 - -Configuration variables: - -- **nec**: Send a NEC IR code. - - - **address**: The address of the device. - - **command**: The command to send. - -- **lg**: Send an LG IR code. - - - **data**: The data bytes to send. - - **nbits**: The number of bits to send, defaults to 28. - -- **sony**: Send an Sony IR code. - - - **data**: The data bytes to send. - - **nbits**: The number of bits to send, defaults to 12. - -- **panasonic**: Send an Panasonic IR code. - - - **address**: The address of the device. - - **command**: The command to send. - -- **raw**: Send an arbitrary signal. - - - **carrier_frequency**: The frequency to use for the carrier. A lot - of IR sensors only respond to a very specific frequency. - - **data**: List containing integers describing the signal to send. - Each value is a time in µs declaring how long the carrier should - be switched on or off. Positive values mean ON, negative values - mean OFF. - -See Also -^^^^^^^^ - -- :doc:`index` -- :doc:`/esphomeyaml/components/ir_transmitter` -- :doc:`API Reference ` -- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/switch/remote_transmitter.rst b/esphomeyaml/components/switch/remote_transmitter.rst new file mode 100644 index 000000000..0a66eed62 --- /dev/null +++ b/esphomeyaml/components/switch/remote_transmitter.rst @@ -0,0 +1,167 @@ +Remote Transmitter Switch +========================= + +The ``remote_transmitter`` switch platform allows you to create switches +that send a pre-defined remote control sequence +using the :doc:`/esphomeyaml/components/remote_transmitter`. Every time +the switch is turned on, the configured remote signal is sent. + +Use cases include, but are not limited to, infrared remotes, 433MHz signals and so on. + +.. figure:: images/remote_transmitter-ui.png + :align: center + :width: 80.0% + +.. code:: yaml + + # Example configuration entry + remote_transmitter: + pin: 32 + + # Individual switches + switch: + - platform: remote_transmitter + name: "Panasonic TV Off" + panasonic: + address: 0x4004 + command: 0x100BCBD + repeat: 25 + +Configuration variables: +~~~~~~~~~~~~~~~~~~~~~~~~ + +- **name** (**Required**, string): The name for the switch. +- The remote code, see :ref:`remote_transmitter-codes`. Only one + of them can be specified per switch. +- **repeat** (*Optional*, int): How often the command should be sent. + + - **times** (int): The number of times the code should be sent. Defaults to ``1``. + - **wait_time** (:ref:`time `): The time to wait between repeats. + +- **remote_transmitter_id** (*Optional*, :ref:`config-id`): The id of the :doc:`/esphomeyaml/components/remote_transmitter`. + Defaults to the first hub specified. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- All other options from :ref:`Switch ` and :ref:`MQTT Component `. + +.. _remote_transmitter-codes: + +Remote Codes +~~~~~~~~~~~~ + +Supported remote codes: + +.. code:: yaml + + nec: + address: 0x4242 + command: 0x8484 + lg: + data: 0x01234567890ABC + nbits: 28 + sony: + data: 0xABCDEF + nbits: 12 + panasonic: + address: 0x4004 + command: 0x1000BCD + raw: + carrier_frequency: 35kHz + data: + - 1000 + - -1000 + +Configuration variables: + +- **nec**: Send a NEC IR code. + + - **address**: The address of the device. + - **command**: The command to send. + +- **lg**: Send an LG IR code. + + - **data**: The data bytes to send. + - **nbits**: The number of bits to send, defaults to 28. + +- **sony**: Send an Sony IR code. + + - **data**: The data bytes to send. + - **nbits**: The number of bits to send, defaults to 12. + +- **panasonic**: Send an Panasonic IR code. + + - **address**: The address of the device. + - **command**: The command to send. + +- **raw**: Send an arbitrary signal. + + - **carrier_frequency**: The frequency to use for the carrier. A lot + of IR sensors only respond to a very specific frequency. + - **data**: List containing integers describing the signal to send. + Each value is a time in µs declaring how long the carrier should + be switched on or off. Positive values mean ON, negative values + mean OFF. + +.. _finding_remote_codes: + +Finding Remote Codes +-------------------- + +Each remote transmitter uses a different protocol to send its information. So to replicate an infrared or 433MHz +remote you will first need to "learn" these codes. You will first need to hook up a receiver and sniff the codes +using the :doc:`remote receiver component ` like this: + +.. code:: yaml + + remote_receiver: + pin: GPIO34 + # dump all signals we find + dump: all + +And then activate the remote control you want to have in esphomelib. you will see a log output like this: + +.. figure:: images/rf_receiver-log_raw.png + :align: center + + Example log output for a 433MHz proprietary remote control. + +If esphomelib has a decoder set up for the code, it will spit out the decoded code in the logs. In this case, +it's however a propietary protocol which would be difficult to reverse engineer. Fortunately, we can just +do a "replay attack" by repeating the signal we just saw for our own purposes. The output you see in above image +is encoded in microseconds: A negative value represents the output being LOW for x microseconds and a positive +value denotes the output being HIGH for the specified number of microseconds. + +Now you only need to set up the remote transmitter (which well *send* the code) like this: + +.. code:: yaml + + remote_transmitter: + pin: GPIO23 + # Set to 100% when working with RF signals, and 50% if working with IR leds + carrier_duty_percent: 100% + +And lastly, we need to set up the switch that, when turned on, will send our pre-defined remote code: + +.. code:: yaml + + switch: + - platform: remote_transmitter + name: "My awesome RF switch" + raw: [4088, -1542, 1019, -510, 513, -1019, 510, -509, 511, -510, 1020, + -1020, 1022, -1019, 510, -509, 511, -510, 511, -509, 511, -510, + 1020, -1019, 510, -511, 1020, -510, 512, -508, 510, -1020, 1022, + -1021, 1019, -1019, 511, -510, 510, -510, 1022, -1020, 1019, + -1020, 511, -511, 1018, -1022, 1020, -1019, 1021, -1019, 1020, + -511, 510, -1019, 1023, -1019, 1019, -510, 512, -508, 510, -511, + 512, -1019, 510, -509] + +Note that you don't need to include the leading ``32519`` here, as it denotes a final space at the end of +a transmission. + +See Also +-------- + +- :doc:`index` +- :doc:`/esphomeyaml/components/remote_transmitter` +- :doc:`/esphomeyaml/components/remote_receiver` +- :doc:`API Reference ` +- `Edit this page on GitHub `__ diff --git a/esphomeyaml/components/wifi.rst b/esphomeyaml/components/wifi.rst index c44af0900..edaf93b0a 100644 --- a/esphomeyaml/components/wifi.rst +++ b/esphomeyaml/components/wifi.rst @@ -53,6 +53,9 @@ Configuration variables: - **domain** (*Optional*, string): Set the domain of the node hostname used for uploading. For example, if it's set to ``.local``, all uploads will be sent to ``.local``. Defaults to ``.local``. +- **reboot_timeout** (*Optional*, :ref:`time `): The amount of time to wait before rebooting when no + WiFi connection exists. Can be disabled by setting this to ``0s``, but note that the low level IP stack currently + seems to have issues with WiFi where a full reboot is required to get the interface back working. Defaults to ``60s``. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. Access Point Mode diff --git a/esphomeyaml/guides/automations.rst b/esphomeyaml/guides/automations.rst index 541aa4484..12fa060a6 100644 --- a/esphomeyaml/guides/automations.rst +++ b/esphomeyaml/guides/automations.rst @@ -319,6 +319,20 @@ This action executes an arbitrary piece of C++ code (see :ref:`Lambda ` by + `@brandond `__. So now you can monitor how strong the WiFi signal is for your node 📶 + +- You can now create a BLE iBeacon with your ESP32s using the new + :doc:`BLE Beacon component `. + +- esphomelib has finally gained support for a :doc:`status LED `. Now + you can quickly identify if everything is OK with your ESP with a quick look at this LED. Happy |blinking|! + +.. |blinking| raw:: html + + blinking + +- The :doc:`pulse counter sensor ` has been backported to the + ESP8266, so now you can observe the number of pulses and frequency on any pin 🔢 + +- A new :doc:`duty cycle sensor ` has been added, allowing you to + measure how much of the time a specific pin is HIGH or LOW. Can for example be used to detect if a status LED + on an external device is blinking or permanently on. + +- The new :doc:`remote receiver ` and + :doc:`remote transmitter ` components now allows you to use any 433MHz + receivers and senders with esphomelib. Currently, you will need to use the ``raw`` data as described in + :ref:`this guide `, but in the future more protocols will be supported out of the box. + +New Features +~~~~~~~~~~~~ + +- The HassIO add-on now has a new ``password`` option with which you can secure your installation. See + :doc:`/esphomeyaml/guides/getting_started_hassio`. 🔒 + +- Binary Sensors now have filters too. They can now be used to debounce any binary sensor and do some more + complicated actions using lambdas. See :ref:`binary_sensor-filters`. ⛹️‍ + +- All components can now be flagged ``internal``. Doing so will prevent them from being represented in the front-end + (like MQTT). Useful for :ref:`on-device automations `. See 😎 + - The :doc:`/esphomeyaml/components/deep_sleep` now has a ``wakeup_pin_mode`` option for the ESP32. This option can be used to tell esphomelib what to do if the wakeup pin is already in the wakeup level when attempting - to enter deep sleep. + to enter deep sleep. 🛌 + - There are two new triggers available now: :ref:`esphomeyaml.on_boot ` and :ref:`esphomeyaml.on_shutdown ` with which you can do some advanced cleanup/setup on boot and shutdown of the node. +- All HassIO add-on builds have now been more or less completely automated using a private Gitlab server. You + can find all the new docker files `here `__. + +- Added a new ``build_path`` option in the ``esphomeyaml`` section with which you can customize where + esphomeyaml stores the platformio project files. See :doc:`/esphomeyaml/components/esphomeyaml`. + Breaking Changes ~~~~~~~~~~~~~~~~ -- Fixed the :doc:`SHT3x-D ` component and removed the ``accuracy`` +- Fixed the :doc:`SHT3x-D ` component and removed the ``accuracy`` parameter. The accuracy now defaults to ``HIGH``. +- The ``inverted`` option of binary sensors has been moved into the ``filters:`` section. So instead of + .. code:: yaml + + binary_sensor: + - platform: ... + # ... + inverted: True + + you would now write: + + .. code:: yaml + + binary_sensor: + - platform: ... + # ... + filters: + - invert: + +- The ``esp32_ble`` component and platform have been renamed to :doc:`esp32_ble_tracker + ` in order to make the naming clearer with the new :doc:`esp32_ble_beacon + ` component. + +- The ``receive_timeout`` option has been removed from the :doc:`i2c component ` as it + turns out it didn't actually do anything. + +- The ``ir_transmitter`` component has been renamed to :doc:`remote_transmitter ` + as it now works with all kinds of protocols, not just infrared-based ones. + +- The ``pull_mode`` option of the :doc:`Pulse Counter ` has been removed, please + use the :ref:`Pin Schema ` now instead. Additionally, the ``internal_filter`` option now only accepts + :ref:`time ` units. + +Other Contributions +~~~~~~~~~~~~~~~~~~~ + +(Not in any order and probably missed some, still figuring this changelog stuff out...) + +- Make sure logs after upload works when using explicit OTA. (`esphomeyaml/#42`_) by `@aequitas`_ +- Fix deprecation of board_flash_mode parameter (`esphomeyaml/#41`_) by `@aequitas`_ +- Support specifying hostname/ip as --upload-port (`esphomeyaml/#36`_) by `@aequitas`_ + +- DHT11 sensor doesn't work with esphomelib (`esphomelib/#88`_) by `@ayavilevich`_ +- tsl2561: wrong i2c function for channel 1 (`esphomelib/#81`_) by `@schumar`_ +- No need to wait after Wire.requestFrom(). (`esphomelib/#80`_) by `@Koepel`_ +- I2CComponent::write_byte_16 writes 0 words (`esphomelib/#78`_) by `@schumar`_ +- Minor update to the feature section (`esphomelib/#71`_) by `@fabaff`_ +- Fix pin number (`esphomelib/#70`_) by `@fabaff`_ +- Fix #55 - Action._next not initialized to nullptr (`esphomelib/#57`_) by `@brandond`_ + +- Add workaround for out of space esp8266 ota update. (`esphomedocs/#12`_) by `@aequitas`_ +- Add cookbook for dual relay cover (`esphomedocs/#10`_) by `@r-jordan`_ +- Correct output pin declaration in S20 device guide example. (`esphomedocs/#9`_) by `@r-jordan`_ +- Remove BMP280 (doesn't work) (`esphomedocs/#8`_) by `@fabaff`_ +- Passing inverted to output should be valid, but does not work, use … (`esphomedocs/#7`_) by `@aequitas`_ +- Make the example configuration entry copy&paste-friendly (`esphomedocs/#6`_) by `@fabaff`_ +- Minor formatting tweaks. (`esphomedocs/#4`_) by `@Landradsh`_ +- Details about Sonoff basic (`esphomedocs/#3`_) by `@fabaff`_ +- Add missing module (`esphomedocs/#2`_) by `@fabaff`_ +- Fix unit name (`esphomedocs/#1`_) by `@fabaff`_ + + +.. _esphomeyaml/#36: https://github.com/OttoWinter/esphomeyaml/pull/36 +.. _esphomeyaml/#42: https://github.com/OttoWinter/esphomeyaml/pull/42 +.. _esphomeyaml/#41: https://github.com/OttoWinter/esphomeyaml/pull/41 + +.. _esphomelib/#88: https://github.com/OttoWinter/esphomeyaml/pull/88 +.. _esphomelib/#81: https://github.com/OttoWinter/esphomeyaml/pull/81 +.. _esphomelib/#80: https://github.com/OttoWinter/esphomeyaml/pull/80 +.. _esphomelib/#78: https://github.com/OttoWinter/esphomeyaml/pull/78 +.. _esphomelib/#71: https://github.com/OttoWinter/esphomeyaml/pull/71 +.. _esphomelib/#70: https://github.com/OttoWinter/esphomeyaml/pull/70 +.. _esphomelib/#57: https://github.com/OttoWinter/esphomeyaml/pull/57 + +.. _esphomedocs/#12: https://github.com/OttoWinter/esphomeyaml/pull/12 +.. _esphomedocs/#10: https://github.com/OttoWinter/esphomeyaml/pull/10 +.. _esphomedocs/#9: https://github.com/OttoWinter/esphomeyaml/pull/9 +.. _esphomedocs/#8: https://github.com/OttoWinter/esphomeyaml/pull/8 +.. _esphomedocs/#7: https://github.com/OttoWinter/esphomeyaml/pull/7 +.. _esphomedocs/#6: https://github.com/OttoWinter/esphomeyaml/pull/6 +.. _esphomedocs/#4: https://github.com/OttoWinter/esphomeyaml/pull/4 +.. _esphomedocs/#3: https://github.com/OttoWinter/esphomeyaml/pull/3 +.. _esphomedocs/#2: https://github.com/OttoWinter/esphomeyaml/pull/2 +.. _esphomedocs/#1: https://github.com/OttoWinter/esphomeyaml/pull/1 + +.. _@aequitas: https://github.com/aequitas +.. _@ayavilevich: https://github.com/ayavilevich +.. _@schumar: https://github.com/schumar +.. _@Koepel: https://github.com/Koepel +.. _@fabaff: https://github.com/fabaff +.. _@brandond: https://github.com/brandond +.. _@r-jordan: https://github.com/r-jordan +.. _@Landradsh: https://github.com/Landradsh diff --git a/esphomeyaml/guides/getting_started_hassio.rst b/esphomeyaml/guides/getting_started_hassio.rst index 1aae600a2..5a7059087 100644 --- a/esphomeyaml/guides/getting_started_hassio.rst +++ b/esphomeyaml/guides/getting_started_hassio.rst @@ -85,6 +85,14 @@ upload button. Currently the build toolchain for the ESP32 does not work on RPis. If you need to compile software for ESP32 (**not** ESP8266) boards, please install esphomeyaml on your computer. +HassIO add-on options +~~~~~~~~~~~~~~~~~~~~~ + +Since version 1.7.0, you can optionally specify a password to use for all traffic to esphomeyaml +using the ``password`` option in the HassIO add-on page. By default, this is an empty string +(which means no password), but you can enter any string in there to set your password. + + Adding some (basic) features ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/esphomeyaml/guides/index.rst b/esphomeyaml/guides/index.rst index 66b02ff1b..01a8ea924 100644 --- a/esphomeyaml/guides/index.rst +++ b/esphomeyaml/guides/index.rst @@ -12,3 +12,4 @@ Guides migrate_espurna migrate_sonoff_tasmota contributing + changelog diff --git a/esphomeyaml/images/led-on.svg b/esphomeyaml/images/led-on.svg new file mode 100644 index 000000000..47eef5178 --- /dev/null +++ b/esphomeyaml/images/led-on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/esphomeyaml/images/percent.svg b/esphomeyaml/images/percent.svg new file mode 100644 index 000000000..ab5f78aa5 --- /dev/null +++ b/esphomeyaml/images/percent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/esphomeyaml/index.rst b/esphomeyaml/index.rst index ab654085e..f2ce28792 100644 --- a/esphomeyaml/index.rst +++ b/esphomeyaml/index.rst @@ -192,25 +192,25 @@ Sensor Components -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- `BMP085`_ `Dallas`_ `DHT`_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -|DHT12|_ |ESP32 Hall Sensor|_ |HDC1080|_ +|DHT12|_ |Duty Cycle|_ |ESP32 Hall Sensor|_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -`DHT12`_ `ESP32 Hall Sensor`_ `HDC1080`_ +`DHT12`_ `Duty Cycle`_ `ESP32 Hall Sensor`_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -|HTU21D|_ |MAX6675|_ |MPU6050|_ +|HDC1080|_ |HTU21D|_ |MAX6675|_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -`HTU21D`_ `MAX6675`_ `MPU6050`_ +`HDC1080`_ `HTU21D`_ `MAX6675`_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -|Pulse Counter|_ |Rotary Encoder|_ |SHT3X-D|_ +|MPU6050|_ |Pulse Counter|_ |Rotary Encoder|_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -`Pulse Counter`_ `Rotary Encoder`_ `SHT3X-D`_ +`MPU6050`_ `Pulse Counter`_ `Rotary Encoder`_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -|Template Sensor|_ |TSL2561|_ |Ultrasonic Sensor|_ +|SHT3X-D|_ |Template Sensor|_ |TSL2561|_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -`Template Sensor`_ `TSL2561`_ `Ultrasonic Sensor`_ +`SHT3X-D`_ `Template Sensor`_ `TSL2561`_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -|Custom Sensor|_ +|Ultrasonic Sensor|_ |WiFi Signal Strength|_ |Custom Sensor|_ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -`Custom Sensor`_ +`Ultrasonic Sensor`_ `WiFi Signal Strength`_ `Custom Sensor`_ ================================================== ================================================== ================================================== .. |Sensor Core| image:: /esphomeyaml/images/folder-open.svg @@ -243,6 +243,9 @@ Sensor Components .. |DHT12| image:: /esphomeyaml/images/dht12.jpg :class: component-image .. _DHT12: /esphomeyaml/components/sensor/dht12.html +.. |Duty Cycle| image:: /esphomeyaml/images/percent.svg + :class: component-image +.. _Duty Cycle: /esphomeyaml/components/sensor/duty_cycle.html .. |ESP32 Hall Sensor| image:: /esphomeyaml/images/magnet.svg :class: component-image .. _ESP32 Hall Sensor: /esphomeyaml/components/sensor/esp32_hall.html @@ -276,23 +279,34 @@ Sensor Components .. |Ultrasonic Sensor| image:: /esphomeyaml/images/ultrasonic.jpg :class: component-image .. _Ultrasonic Sensor: /esphomeyaml/components/sensor/ultrasonic.html +.. |WiFi Signal Strength| image:: /esphomeyaml/images/network-wifi.svg + :class: component-image +.. _WiFi Signal Strength: /esphomeyaml/components/sensor/wifi_signal.html .. |Custom Sensor| image:: /esphomeyaml/images/language-cpp.svg :class: component-image .. _Custom Sensor: /esphomeyaml/components/sensor/custom.html +Looking for a sensor that outputs its values as an analog voltage? Have a look at the +:doc:`ADC Sensor ` together with a formula like in the :doc:`TEMT6000 +example `. + Binary Sensor Components ~~~~~~~~~~~~~~~~~~~~~~~~ -============================== ============================== ============================== -|Binary Sensor Core|_ |GPIO|_ |Status|_ ------------------------------- ------------------------------ ------------------------------ -`Binary Sensor Core`_ `GPIO`_ `Status`_ ------------------------------- ------------------------------ ------------------------------ -|ESP32 BLE Device|_ |ESP32 Touch Pad|_ |Template Binary Sensor|_ ------------------------------- ------------------------------ ------------------------------ -`ESP32 BLE Device`_ `ESP32 Touch Pad`_ `Template Binary Sensor`_ -============================== ============================== ============================== +================================================== ================================================== ================================================== +|Binary Sensor Core|_ |GPIO|_ |Status|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`Binary Sensor Core`_ `GPIO`_ `Status`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +|ESP32 BLE Device|_ |ESP32 Touch Pad|_ |Template Binary Sensor|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`ESP32 BLE Device`_ `ESP32 Touch Pad`_ `Template Binary Sensor`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +|Remote Receiver|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`Remote Receiver`_ +================================================== ================================================== ================================================== .. |Binary Sensor Core| image:: /esphomeyaml/images/folder-open.svg :class: component-image @@ -305,13 +319,16 @@ Binary Sensor Components .. _Status: /esphomeyaml/components/binary_sensor/status.html .. |ESP32 BLE Device| image:: /esphomeyaml/images/bluetooth.svg :class: component-image -.. _ESP32 BLE Device: /esphomeyaml/components/binary_sensor/esp32_ble.html +.. _ESP32 BLE Device: /esphomeyaml/components/binary_sensor/esp32_ble_tracker.html .. |ESP32 Touch Pad| image:: /esphomeyaml/images/touch.svg :class: component-image .. _ESP32 Touch Pad: /esphomeyaml/components/binary_sensor/esp32_touch.html .. |Template Binary Sensor| image:: /esphomeyaml/images/description.svg :class: component-image .. _Template Binary Sensor: /esphomeyaml/components/binary_sensor/template.html +.. |Remote Receiver| image:: /esphomeyaml/images/remote.svg + :class: component-image +.. _Remote Receiver: /esphomeyaml/components/binary_sensor/remote_receiver.html @@ -385,22 +402,25 @@ Light Components .. _FastLED SPI Light: /esphomeyaml/components/light/fastled_spi.html +Looking for WS2811 and similar individually addressable lights? Have a look at the +:doc:`FastLED Clockless Light `. + Switch Components ~~~~~~~~~~~~~~~~~ -============================== ============================== ============================== -|Switch Core|_ |GPIO Switch|_ |IR Transmitter|_ ------------------------------- ------------------------------ ------------------------------ -`Switch Core`_ `GPIO Switch`_ `IR Transmitter`_ ------------------------------- ------------------------------ ------------------------------ -|Restart Switch|_ |Shutdown Switch|_ |Generic Output Switch|_ ------------------------------- ------------------------------ ------------------------------ -`Restart Switch`_ `Shutdown Switch`_ `Generic Output Switch`_ ------------------------------- ------------------------------ ------------------------------ +================================================== ================================================== ================================================== +|Switch Core|_ |GPIO Switch|_ |Remote Transmitter|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`Switch Core`_ `GPIO Switch`_ `Remote Transmitter`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +|Restart Switch|_ |Shutdown Switch|_ |Generic Output Switch|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`Restart Switch`_ `Shutdown Switch`_ `Generic Output Switch`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- |Template Switch|_ ------------------------------- ------------------------------ ------------------------------ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- `Template Switch`_ -============================== ============================== ============================== +================================================== ================================================== ================================================== .. |Switch Core| image:: /esphomeyaml/images/folder-open.svg :class: component-image @@ -408,9 +428,9 @@ Switch Components .. |GPIO Switch| image:: /esphomeyaml/images/pin.svg :class: component-image .. _GPIO Switch: /esphomeyaml/components/switch/gpio.html -.. |IR Transmitter| image:: /esphomeyaml/images/remote.svg +.. |Remote Transmitter| image:: /esphomeyaml/images/remote.svg :class: component-image -.. _IR Transmitter: /esphomeyaml/components/switch/ir_transmitter.html +.. _Remote Transmitter: /esphomeyaml/components/switch/remote_transmitter.html .. |Restart Switch| image:: /esphomeyaml/images/restart.svg :class: component-image .. _Restart Switch: /esphomeyaml/components/switch/restart.html @@ -426,7 +446,6 @@ Switch Components - Fan Components ~~~~~~~~~~~~~~ @@ -467,26 +486,33 @@ Cover Components Misc Components ~~~~~~~~~~~~~~~ -============================== ============================== ============================== -|Dallas Hub|_ |IR Transmitter Hub|_ |PCA9685 Hub|_ ------------------------------- ------------------------------ ------------------------------ -`Dallas Hub`_ `IR Transmitter Hub`_ `PCA9685 Hub`_ ------------------------------- ------------------------------ ------------------------------ -|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|_ |Remote Transmitter Hub|_ |Remote Receiver Hub|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`Dallas Hub`_ `Remote Transmitter Hub`_ `Remote Receiver Hub`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +|PCA9685 Hub|_ |ADS1115 Hub|_ |Debug Component|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`PCA9685 Hub`_ `ADS1115 Hub`_ `Debug Component`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +|PCF8574 I/O Expander|_ |ESP32 BLE Tracker|_ |ESP32 BLE Beacon|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`PCF8574 I/O Expander`_ `ESP32 BLE Tracker`_ `ESP32 BLE Beacon`_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +|ESP32 Touch Hub|_ |Status LED|_ +-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- +`ESP32 Touch Hub`_ `Status LED`_ +================================================== ================================================== ================================================== .. |Dallas Hub| image:: /esphomeyaml/images/dallas.jpg :class: component-image .. _Dallas Hub: /esphomeyaml/components/dallas.html -.. |IR Transmitter Hub| image:: /esphomeyaml/images/remote.svg +.. |Remote Transmitter Hub| image:: /esphomeyaml/images/remote.svg :class: component-image -.. _IR Transmitter Hub: /esphomeyaml/components/ir_transmitter.html +.. _Remote Transmitter Hub: /esphomeyaml/components/remote_transmitter.html +.. |Remote Receiver Hub| image:: /esphomeyaml/images/remote.svg + :class: component-image +.. _Remote Receiver Hub: /esphomeyaml/components/remote_receiver.html .. |PCA9685 Hub| image:: /esphomeyaml/images/pca9685.jpg :class: component-image .. _PCA9685 Hub: /esphomeyaml/components/pca9685.html @@ -499,12 +525,18 @@ Misc Components .. |PCF8574 I/O Expander| image:: /esphomeyaml/images/pcf8574.jpg :class: component-image .. _PCF8574 I/O Expander: /esphomeyaml/components/pcf8574.html -.. |ESP32 BLE Hub| image:: /esphomeyaml/images/bluetooth.svg +.. |ESP32 BLE Tracker| image:: /esphomeyaml/images/bluetooth.svg :class: component-image -.. _ESP32 BLE Hub: /esphomeyaml/components/esp32_ble.html +.. _ESP32 BLE Tracker: /esphomeyaml/components/esp32_ble_tracker.html +.. |ESP32 BLE Beacon| image:: /esphomeyaml/images/bluetooth.svg + :class: component-image +.. _ESP32 BLE Beacon: /esphomeyaml/components/esp32_ble_beacon.html .. |ESP32 Touch Hub| image:: /esphomeyaml/images/touch.svg :class: component-image .. _ESP32 Touch Hub: /esphomeyaml/components/esp32_touch.html +.. |Status LED| image:: /esphomeyaml/images/led-on.svg + :class: component-image +.. _Status LED: /esphomeyaml/components/status_led.html Cookbook diff --git a/esphomeyaml/misc.csv b/esphomeyaml/misc.csv index 88762f869..e22c36e7e 100644 --- a/esphomeyaml/misc.csv +++ b/esphomeyaml/misc.csv @@ -1,8 +1,11 @@ -Dallas Hub, components/dallas, ds18b20.jpg -IR Transmitter Hub, components/ir_transmitter, remote.svg +Dallas Hub, components/dallas, dallas.jpg +Remote Transmitter Hub, components/remote_transmitter, remote.svg +Remote Receiver Hub, components/remote_receiver, remote.svg PCA9685 Hub, components/pca9685, pca9685.jpg ADS1115 Hub, components/ads1115, ads1115.jpg Debug Component, components/debug, bug-report.svg PCF8574 I/O Expander, components/pcf8574, pcf8574.jpg -ESP32 BLE Hub, components/esp32_ble, bluetooth.svg +ESP32 BLE Tracker, components/esp32_ble_tracker, bluetooth.svg +ESP32 BLE Beacon, components/esp32_ble_beacon, bluetooth.svg ESP32 Touch Hub, components/esp32_touch, touch.svg +Status LED, components/status_led, led-on.svg diff --git a/esphomeyaml/sensor.csv b/esphomeyaml/sensor.csv index d12e7c74b..218400d1f 100644 --- a/esphomeyaml/sensor.csv +++ b/esphomeyaml/sensor.csv @@ -8,6 +8,7 @@ BMP085, components/sensor/bmp085, bmp180.jpg Dallas, components/sensor/dallas, dallas.jpg DHT, components/sensor/dht, dht22.jpg DHT12, components/sensor/dht12, dht12.jpg +Duty Cycle, components/sensor/duty_cycle, percent.svg ESP32 Hall Sensor, components/sensor/esp32_hall, magnet.svg HDC1080, components/sensor/hdc1080, hdc1080.jpg HTU21D, components/sensor/htu21d, htu21d.jpg @@ -19,4 +20,5 @@ SHT3X-D, components/sensor/sht3xd, sht3xd.jpg Template Sensor, components/sensor/template, description.svg TSL2561, components/sensor/tsl2561, tsl2561.jpg Ultrasonic Sensor, components/sensor/ultrasonic, ultrasonic.jpg -Custom Sensor, components/sensor/custom, build.svg +WiFi Signal Strength, components/sensor/wifi_signal, network-wifi.svg +Custom Sensor, components/sensor/custom, language-cpp.svg diff --git a/esphomeyaml/switch.csv b/esphomeyaml/switch.csv index 72a1d4922..15fe66429 100644 --- a/esphomeyaml/switch.csv +++ b/esphomeyaml/switch.csv @@ -1,6 +1,6 @@ Switch Core, components/switch/index, folder-open.svg GPIO Switch, components/switch/gpio, pin.svg -IR Transmitter, components/switch/ir_transmitter, remote.svg +Remote Transmitter, components/switch/remote_transmitter, remote.svg Restart Switch, components/switch/restart, restart.svg Shutdown Switch, components/switch/shutdown, power_settings.svg Generic Output Switch, components/switch/output, upload.svg diff --git a/esphomeyaml/v1.7.0.csv b/esphomeyaml/v1.7.0.csv new file mode 100644 index 000000000..e7bbe9b98 --- /dev/null +++ b/esphomeyaml/v1.7.0.csv @@ -0,0 +1,7 @@ +ESP32 BLE Beacon, components/esp32_ble_beacon, bluetooth.svg +Status LED, components/status_led, led-on.svg +WiFi Signal Strength, components/sensor/wifi_signal, network-wifi.svg +Duty Cycle Sensor, components/sensor/duty_cycle, percent.svg +Pulse Counter for ESP8266, components/sensor/pulse_counter, pulse.svg +Remote Transmitter, components/switch/remote_transmitter, remote.svg +Remote Receiver, components/remote_receiver, remote.svg