Merge branch 'current' into next

This commit is contained in:
Otto Winter 2019-11-02 20:59:20 +01:00
commit 979d130059
No known key found for this signature in database
GPG Key ID: DB66C0BE6013F97E
25 changed files with 684 additions and 56 deletions

View File

@ -1,5 +1,5 @@
ESPHOME_PATH = ../esphome
ESPHOME_REF = dev
ESPHOME_REF = v1.14.0
.PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

View File

@ -1 +1 @@
1.14.0-dev
1.14.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@ -2,7 +2,7 @@ Changelog
=========
.. redirect::
:url: /changelog/v1.13.0.html
:url: /changelog/v1.14.0.html
.. toctree::
:glob:

442
changelog/v1.14.0.rst Normal file
View File

@ -0,0 +1,442 @@
Changelog - Version 1.14.0 - November 1
=======================================
.. seo::
:description: Changelog for ESPHome version 1.14.0.
:image: /_static/changelog-1.14.0.png
:author: Otto Winter
:author_twitter: @OttoWinter_
.. imgtable::
:columns: 5
Captive Portal, components/captive_portal, wifi-strength-alert-outline.svg
Visual Studio Code Plugin, https://marketplace.visualstudio.com/items?itemName=ESPHome.esphome-vscode, visual-studio-code.svg
SIM800L, components/sim800l, sim800l.jpg
DFPlayer, components/dfplayer, dfplayer.svg
AS3935, components/sensor/as3935, as3935.jpg
ATM90E32, components/sensor/atm90e32, atm90e32.jpg
PZEM004T, components/sensor/pzem004t, pzem004t.svg
PZEM AC, components/sensor/pzemac, pzemac.svg
PZEM DC, components/sensor/pzemdc, pzemdc.svg
ADE7953, components/sensor/ade7953, ade7953.svg
SenseAir, components/sensor/senseair, senseair_s8.jpg
SCD30, components/sensor/scd30, scd30.jpg
SHTCx, components/sensor/shtcx, shtc3.jpg
STS3X, components/sensor/sts3x, sts3x.jpg
SGP30, components/sensor/sgp30, sgp30.jpg
Tx20, components/sensor/tx20, tx20.jpg
VL53L0x, components/sensor/vl53l0x, vl53l0x.svg
Xiaomi CGG1, components/sensor/xiaomi_cgg1, xiaomi_cgg1.jpg
Xiaomi LYWSD02, components/sensor/xiaomi_lywsd02, xiaomi_lywsd02.jpg
ZyAura, components/sensor/zyaura, zgm053.jpg
TLC59208F, components/output/tlc59208f, tlc59208f.jpg
SM16716, components/output/sm16716, sm16716.svg
Tuya Dimmer, components/light/tuya, brightness-medium.svg
SSD1325, components/display/ssd1325, ssd1325.jpg
Yashima IR Remote, components/climate/yashima, air-conditioner.svg
MCP23008 I/O Expander, components/mcp230xx, mcp230xx.svg
SX1509 I/O Expander, components/sx1509, sx1509.jpg
So... it's been a while since the last release...
But today - november 1 - the wait has finally ended! We're proud to announce ESPHome 1.14,
a release with the most features additions to date thanks to a ton of contributors!
Captive Portal
**************
First, we've heard your feedback in the feature request tracker. One of the highest requested
features has been to add a WiFi captive portal (also called "WiFiManager") capability to ESPHome.
.. figure:: /components/images/captive_portal-ui.png
:align: center
:width: 60.0%
With the new :doc:`captive portal </components/captive_portal>` component you can set up a fallback
WiFi hotspot that gets created if the ESP fails to connect to the WiFi network. If you're creating
a new device this is automatically enabled. To add this feature existing devices check out the
:doc:`captive portal example </components/captive_portal>`.
VSCode Plugin & New Integrations
********************************
:ghuser:`glmnet` has been very active in the ESPHome community - he not only managed a ton
of bug reports and feature requests, he also implemented some very interesting features:
- ESPHome now has a working VSCode plugin with live config validation support!
Check out the `ESPHome plugin on the VSCode marketplace <https://marketplace.visualstudio.com/items?itemName=ESPHome.esphome-vscode>`__.
- The new :doc:`SIM800L integration </components/sim800l>` lets you send SMS and
with :doc:`DF-Player </components/dfplayer>` you can play some music from your ESP 🎵
.. figure:: images/vscode-validation.png
:align: center
:width: 60.0%
Thank you :ghuser:`glmnet` for your work!
New Sensors
***********
As you can see in the grid at the top of this page, there's been no shortage of sensors either!
There are all kinds of new sensor types here: from :doc:`lightning detectors ⚡️ </components/sensor/as3935>`,
the laser distance measuring :doc:`vl53l0x </components/sensor/vl53l0x>` to various environmental
sensors (thanks :ghuser:`TheEggi`, :ghuser:`valordk`!).
In list of supported power measuring chips has grown a lot with the 3-channel :doc:`ATM90E32 </components/sensor/atm90e32>`,
various PZEM-004Ts and the power monitoring chip in the :doc:`Shelly 2.5 </components/sensor/ade7953>`
(thanks :ghuser:`thompsa` :ghuser:`tsunglung`!).
Of course there's a lot more features in this release that didn't fit here anymore.
Just to name a few: new Xiaomi BLE devices are supported, the
:doc:`Tuya MCU protocol </components/light/tuya>` (thanks :ghuser:`ssieb` and :ghuser:`brandond`!) has been added and major
architectural parts of the ESPHome native API have changed to allow for faster
development.
Oh, and before we forget: ESPHome has reached 1.000 stars on GitHub!
.. figure:: images/github-1000-stars.png
:align: center
:width: 75.0%
As always, thanks to all contributors, bug reporters and patrons! Without you this would not
be possible!
Breaking Changes
----------------
- We have deprecated support for Python 2 installs. 1.14.x will still work with Python 2,
but will print a warning. Starting with 1.15.0, ESPHome will require at least Python 3.6.
Note: The Docker/Hass.io addon images already use Python 3 (:esphomepr:`784`, :esphomepr:`774`).
- The ``xiaomi_`` BLE platforms have been renamed to match their model numbers (:esphomepr:`755`).
- ``xiaomi_mijia`` -> :doc:`xiaomi_lywsdcgq </components/sensor/xiaomi_lywsdcgq>`
- ``xiaomi_miflora`` -> :doc:`xiaomi_hhccjcy01 </components/sensor/xiaomi_hhccjcy01>`
- As part of the addition of the captive portal component, the default ``reboot_timeout`` for
``wifi`` has been increased to 15 minutes from the previous 5 minutes (:esphomepr:`624`).
- The ESP32 LEDC ``bit_depth`` option has been removed. The best bit depth is now dynamically
calculated (:esphomepr:`754`, :doc:`docs </components/output/ledc>`).
- For :doc:`pcf8574 </components/pcf8574>`, the ``INPUT_PULLUP`` option has been removed and replaced
with ``INPUT`` (:esphomepr:`828`, :doc:`docs </components/pcf8574>`).
Notable Changes & New Features
------------------------------
- Dashboard Interface: Add an "Update all" button (:esphomepr:`615`).
- Uploads over USB are now about 4 times faster (:esphomepr:`761`).
- `ESPHome-Flasher v1.2.0 <https://github.com/esphome/esphome-flasher/releases/tag/v1.2.0>`__ has been
released with fixes for ESP32s and faster uploads.
- All :doc:`native API </components/api>` communication stubs are now automatically
generated using automated scripts. This is a big step towards making the API more flexible, for
example cross-device communication (:esphomepr:`633`).
- New class :apiclass:`CustomAPIDevice` to declare user-defined services straight from custom components.
See the updated :doc:`custom component guide </custom/custom_component>`.
- :ref:`Sensors <config-sensor>` have a new ``force_update`` option (:esphomepr:`783`).
- Add GPIO Switch :ref:`interlock_wait_time <switch-gpio-interlocking>` (:esphomepr:`777`).
- Add a configurable priority for WiFi network selection (:esphomepr:`658`, :doc:`docs </components/wifi>`).
- Add :ref:`script.wait <script-wait_action>` action (:esphomepr:`778`).
- Dashboard Interface: Add an interface for editing ``secrets.yaml`` (:esphomepr:`672` by :ghuser:`Anonym-tsk`).
- Dashboard Interface: Authorization by username and password for non-Hass.io installs
(:esphomepr:`668` by :ghuser:`Anonym-tsk`).
- Dashboard Interface: The material icons font is now shipped with ESPHome
(:esphomepr:`703` by :ghuser:`Anonym-tsk`).
- Add :ref:`output.ledc.set_frequency <output-ledc-set_frequency_action>` action (:esphomepr:`754`).
- Changing from an effect to a static color for addressable light now
has per-LED transitions (:esphomepr:`750`).
- Add :ref:`rotary_encoder.set_value <sensor-rotary_encoder-set_value_action>` action (:esphomepr:`747`).
- You can now specify per-device descriptions in the dashboard interface
(:esphomepr:`707` by :ghuser:`Anonym-tsk`, :doc:`docs </components/esphome>`).
- The :doc:`SPI bus </components/spi>` now sends data over the hardware SPI bus if possible.
This can result in significant speedups for displays (:esphomepr:`623`).
- Add ``delayed_on_off`` binary_sensor filter (:esphomepr:`700` by :ghuser:`kepten`,
:ref:`docs <sensor-filters>`).
- Implement ``median`` sensor filter (:esphomepr:`697` by :ghuser:`jvanderneutstulen`,
:ref:`docs <sensor-filters>`).
- A function scheduler now handles all of ESPHome's timeout/interval calls, replacing the
previous per-component implementation (:esphomepr:`609`).
- Add support for calibrating MH-Z19 sensors (:esphomepr:`683` by :ghuser:`Anonym-tsk`, :doc:`docs </components/sensor/mhz19>`).
- Add BLE scan parameters for improving BLE detection percentage
(:esphomepr:`769`, :doc:`docs </components/esp32_ble_tracker>`).
- Add configurable ignore bits to rc_switch_raw codes (:esphomepr:`650` by :ghuser:`mtl010957`,
:doc:`docs </components/remote_receiver>`).
- New ``restore`` option has been added to :doc:`servos </components/servo>` (:esphomepr:`829`).
- Add IR receiver support for coolix climate devices (:esphomepr:`645` by :ghuser:`glmnet`, :doc:`docs </components/climate/coolix>`).
- Add :ref:`calibrate_polynomial <sensor-calibrate_polynomial>` sensor filter (:esphomepr:`642`).
- Allow setting the initial mode of HLW8012 sensors (:esphomepr:`611` by :ghuser:`brandond`, :doc:`docs </components/sensor/hlw8012>`).
- Add tilt actions to :doc:`template cover </components/cover/template>` (:esphomepr:`577` by :ghuser:`mtl010957`).
- Add backlight handling for lcd_pcf8574 (:esphomepr:`573` by :ghuser:`adarazs`, :doc:`docs </components/display/lcd_display>`).
All changes
-----------
- esphome: CLI show version better :esphomepr:`581`
- esphome: SM16716 support :esphomepr:`541`
- docs: Add documentation for SM16716 output component. :docspr:`217` by :ghuser:`kll`
- docs: Document the backlight control for lcd_pcf8574 :docspr:`261` by :ghuser:`adarazs`
- esphome: Add backlight handling for lcd_pcf8574 :esphomepr:`573` by :ghuser:`adarazs` (new-feature)
- esphome: clear and disable editor while fetching contents :esphomepr:`603` by :ghuser:`gitolicious`
- esphome: Scan length for AddressableScanEffect :esphomepr:`608` by :ghuser:`majorpeter` (new-feature)
- docs: Scaneffectlength :docspr:`264` by :ghuser:`majorpeter`
- esphome: Fix ForCondition time duration check :esphomepr:`610` by :ghuser:`ptatrai` (cherry-picked)
- esphome: DHT22 ignore invalid values :esphomepr:`614` (cherry-picked)
- esphome: Template Cover don't auto-set current_operation :esphomepr:`612` (cherry-picked)
- esphome: Fix Hass.io addon SSL :esphomepr:`613` (cherry-picked)
- esphome: Fix remote_receiver always shows sony :esphomepr:`617` (cherry-picked)
- esphome: Make ForCondition a component :esphomepr:`616` (cherry-picked)
- esphome: Update docker base image to 1.8.0 :esphomepr:`618` (cherry-picked)
- esphome: Fix integration sensor, add test :esphomepr:`619` (cherry-picked)
- esphome: Fix sun default elevation :esphomepr:`620` (cherry-picked)
- esphome: Allow setting the initial mode of HLW8012 sensors :esphomepr:`611` by :ghuser:`brandond` (new-feature)
- docs: Allow setting the initial mode of HLW8012 sensors :docspr:`268` by :ghuser:`brandond`
- esphome: Add more efficient SPI implementation :esphomepr:`622`
- esphome: Allow id() syntax for custom code :esphomepr:`621`
- esphome: Dashboard Update all button :esphomepr:`615` (new-feature)
- esphome: Add central function scheduler :esphomepr:`609`
- esphome: Update base image to 1.8.3 :esphomepr:`625` (cherry-picked)
- esphome: Fix status binary sensor for MQTT :esphomepr:`628` (cherry-picked)
- esphome: Work around ESP32 BLE issue :esphomepr:`626` (cherry-picked)
- esphome: Work around ESP32 core WiFi Bug :esphomepr:`627` (cherry-picked)
- esphome: Add HW SPI support :esphomepr:`623` (new-feature)
- esphome: Captive Portal :esphomepr:`624` (breaking-change)
- esphome: Fix ESP32 RCSwitch Dump Stack Smash Protection :esphomepr:`636` (cherry-picked)
- esphome: Fix russia timezone detection :esphomepr:`637` (cherry-picked)
- esphome: Fix globals.set :esphomepr:`635` (cherry-picked)
- esphome: Fix version.h file :esphomepr:`630` (cherry-picked)
- esphome: Fix remote_receiver raw binary sensor :esphomepr:`639` (cherry-picked)
- esphome: Re-add CustomMQTTDevice class :esphomepr:`640` (cherry-picked)
- esphome: Yashima climate new component :esphomepr:`634` by :ghuser:`diraimondo`
- docs: Add Yashima Climate component docs :docspr:`275` by :ghuser:`diraimondo`
- esphome: Fix home assistant binary sensor initial state :esphomepr:`632` by :ghuser:`glmnet`
- esphome: Atmel M90E32AS Energy Metering IC. Found in CircuitSetup 2chan and 6chan energy meterss :esphomepr:`629` by :ghuser:`thompsa`
- docs: Add docs for atm90e32 sensor :docspr:`271` by :ghuser:`thompsa`
- esphome: Add set_threshold and get_value methods to ESP32TouchBinarySensor. :esphomepr:`631` by :ghuser:`rnauber`
- esphome: Make logger string memory usage more efficient :esphomepr:`641`
- docs: Add SIM800L docs :docspr:`257` by :ghuser:`glmnet`
- esphome: SMS Sender / Receiver :esphomepr:`522` by :ghuser:`glmnet`
- esphome: Create Protobuf Plugin for automatically generating native API stubs :esphomepr:`633`
- esphome: Template tilt cover :esphomepr:`577` by :ghuser:`mtl010957` (new-feature)
- esphome: Provide the lights current color to the addressable_lambda_effect. :esphomepr:`646` by :ghuser:`rnauber`
- docs: Update sun.rst :docspr:`278` by :ghuser:`pove`
- esphome: Fixed rc_switch dump off by one bit :esphomepr:`652` by :ghuser:`mtl010957`
- esphome: Adding ignore bits to narrow compare of received codes :esphomepr:`650` by :ghuser:`mtl010957` (new-feature)
- esphome: Fix remote_transmitter wait time unit :esphomepr:`654`
- esphome: Update dependencies :esphomepr:`653`
- esphome: CT Clamp ADS1115 Improvements :esphomepr:`647`
- esphome: Add calibrate_polynomial sensor filter :esphomepr:`642` (new-feature)
- esphome: WIP: ESP8266 work on connection issues :esphomepr:`648`
- docs: Added docs for ignore bit setting on rc_switch_raw and fixed ref links :docspr:`279` by :ghuser:`mtl010957`
- docs: Absolute humidity calculation description :docspr:`283` by :ghuser:`tomlut`
- docs: ZyAura CO2 / Temperature / Humidity Sensor :docspr:`281` by :ghuser:`Anonym-tsk`
- esphome: ZyAura CO2 / Temperature / Humidity Sensor :esphomepr:`656` by :ghuser:`Anonym-tsk`
- esphome: Fix deep sleep on_shutdown hooks :esphomepr:`660`
- esphome: ESP32 Use NVS directly :esphomepr:`659`
- docs: Added TX20/TX23 sensor documentation :docspr:`150` by :ghuser:`TheEggi`
- esphome: added tx20 wind speed sensor :esphomepr:`275` by :ghuser:`TheEggi`
- docs: Added docs for tilt capability in template cover :docspr:`260` by :ghuser:`mtl010957`
- docs: Add description next to title :docspr:`227` by :ghuser:`jjok`
- esphome: WiFi networks priority :esphomepr:`658` (new-feature)
- esphome: Change ESP32 default power_save_mode to light :esphomepr:`661`
- docs: Added TTGO T-Journal :docspr:`289` by :ghuser:`bwente`
- docs: Updated confusing deep_sleep.prevent documentation :docspr:`287` by :ghuser:`ofalvai`
- docs: Fix typo in transmit_sony documentation :docspr:`299` by :ghuser:`davericher`
- esphome: Restore sending "None" effect type :esphomepr:`667` by :ghuser:`tribut`
- esphome: fix missing schedule call :esphomepr:`690` by :ghuser:`glmnet`
- docs: Update logger.rst :docspr:`313` by :ghuser:`srg74`
- esphome: Remove double publish_state in ultrasonic sensor :esphomepr:`696` by :ghuser:`brandond`
- esphome: Local Material Icons :esphomepr:`703` by :ghuser:`Anonym-tsk`
- esphome: Corrected ESP32 hardware UART pins :esphomepr:`701` by :ghuser:`jwozny`
- esphome: Fix mqtt_text_sensor to honor unique_id when set. :esphomepr:`698` by :ghuser:`middelink`
- docs: Minor changes to the setup steps :docspr:`327` by :ghuser:`fabaff`
- esphome: Fix duplicate set_update_interval() calls on same component :esphomepr:`693` by :ghuser:`middelink`
- esphome: MH-Z19 calibration support :esphomepr:`683` by :ghuser:`Anonym-tsk` (new-feature)
- esphome: Implement median filter :esphomepr:`697` by :ghuser:`jvanderneutstulen` (new-feature)
- docs: Median filter :docspr:`319` by :ghuser:`jvanderneutstulen`
- docs: MH-Z19 calibration support :docspr:`312` by :ghuser:`Anonym-tsk`
- docs: Update names :docspr:`326` by :ghuser:`fabaff`
- docs: Fix header level :docspr:`325` by :ghuser:`fabaff`
- docs: 7.50in waveshare e-paper works :docspr:`321` by :ghuser:`rafl`
- docs: Fix api.proto url :docspr:`310` by :ghuser:`pstuifzand`
- esphome: add xiaomi BLE Thermometer lywsd02 model support :esphomepr:`664` by :ghuser:`junnikokuki`
- docs: Add Sonoff Mini to 'Generic Sonoff' page :docspr:`320` by :ghuser:`Infinitte`
- esphome: Fix GPS time source. :esphomepr:`704`
- docs: Add configuration example for TTGO T-Camera v1.7 :docspr:`318` by :ghuser:`erichiller`
- esphome: License for Material Design Icons :esphomepr:`708` by :ghuser:`Anonym-tsk`
- docs: LYWSD02 :docspr:`292` by :ghuser:`G1K`
- esphome: add time based cover, has built in endstop :esphomepr:`665` by :ghuser:`glmnet` (new-feature)
- esphome: Add delayed_on_off binary_sensor filter :esphomepr:`700` by :ghuser:`kepten` (new-feature)
- docs: Add doc for delayed_on_off binary_sensor filter :docspr:`324` by :ghuser:`kepten`
- esphome: fix wifi info :esphomepr:`709` by :ghuser:`glmnet`
- docs: Add description of id Parameter :docspr:`329` by :ghuser:`guptamp`
- esphome: fix integration sensor :esphomepr:`711` by :ghuser:`glmnet`
- esphome: Add support for Sensirion SCD30 CO2 sensors :esphomepr:`712` by :ghuser:`valordk`
- docs: Add documentation for Sensirion SCD30 CO2 sensors :docspr:`333` by :ghuser:`valordk`
- esphome: Fixes sim800l :esphomepr:`678` by :ghuser:`glmnet`
- docs: Update esp32_camera.rst jpeg quality :docspr:`332` by :ghuser:`glogiotatidis`
- docs: add has_built_in_endstop docs :docspr:`302` by :ghuser:`glmnet`
- docs: Update incorrect GPIO pin for Mirabella Genio Cold + Warm White… :docspr:`337` by :ghuser:`epetousis`
- esphome: Use default format to render FloatLiteral :esphomepr:`717` by :ghuser:`fritzm`
- esphome: Add coolix receiver :esphomepr:`645` by :ghuser:`glmnet` (new-feature)
- docs: add coolix receiver :docspr:`288` by :ghuser:`glmnet`
- esphome: Fix https://github.com/esphome/issues/issues/658 :esphomepr:`724` by :ghuser:`fake-name`
- docs: Update hdc1080.rst :docspr:`343` by :ghuser:`magnusja`
- esphome: Update MANIFEST.in to fix esphome/issues#650 :esphomepr:`733` by :ghuser:`shbatm`
- docs: Fix link to light-is_on_condition :docspr:`345` by :ghuser:`myplacedk`
- esphome: fixes samsung ir :esphomepr:`738` by :ghuser:`glmnet`
- esphome: Allow 64 bit codes and add nexa remote support. :esphomepr:`662` by :ghuser:`abmantis` (new-feature)
- docs: Fix, optimize mijia :docspr:`293` by :ghuser:`G1K`
- esphome: AS3935 Lightning sensor :esphomepr:`666` by :ghuser:`TheEggi`
- esphome: Full height log window :esphomepr:`673` by :ghuser:`Anonym-tsk`
- docs: Make it clearer that only one deep sleep component is allowed. :docspr:`303` by :ghuser:`jeff-h`
- esphome: Secrets editor :esphomepr:`672` by :ghuser:`Anonym-tsk` (new-feature)
- esphome: Authorization by username and password :esphomepr:`668` by :ghuser:`Anonym-tsk` (new-feature)
- esphome: Basic Auth for web_server component :esphomepr:`674` by :ghuser:`Anonym-tsk`
- docs: Basic Auth for web_server component :docspr:`304` by :ghuser:`Anonym-tsk`
- esphome: Improve SHT3xD reconnect handling :esphomepr:`675` by :ghuser:`valordk`
- docs: Fix description of the sensor :docspr:`309` by :ghuser:`mpettitt`
- esphome: Device description in dashboard :esphomepr:`707` by :ghuser:`Anonym-tsk` (new-feature)
- docs: Device description in dashboard :docspr:`335` by :ghuser:`Anonym-tsk`
- esphome: support for the sx1509 i2c device :esphomepr:`651` by :ghuser:`mvturnho`
- esphome: Add support for TI TLC59208F :esphomepr:`718` by :ghuser:`tamisoft`
- docs: ADD TLC59208F documentation :docspr:`338` by :ghuser:`tamisoft`
- docs: Add Xiaomi Cleargrass Sensor Documentation :docspr:`346` by :ghuser:`sermayoral`
- esphome: Add Xiaomi Cleargrass Temperature and Humidity Sensor :esphomepr:`735` by :ghuser:`sermayoral`
- docs: The 4.20in display works fine :docspr:`359` by :ghuser:`fredrike`
- docs: Update sonoff.rst :docspr:`341` by :ghuser:`ZabojnikM`
- esphome: Fix for PCF8574 output chattering at the start/reboot :esphomepr:`744` by :ghuser:`amishv`
- esphome: Add ADE7953 Support :esphomepr:`593`
- esphome: refactored xiaomi sensors :esphomepr:`755` by :ghuser:`Alex9779` (breaking-change)
- docs: Xiaomi refactor :docspr:`361` by :ghuser:`Alex9779`
- esphome: fix CGG1 log message :esphomepr:`757` by :ghuser:`Alex9779`
- docs: Add link to index.rst check list item :docspr:`363` by :ghuser:`glmnet`
- docs: Added cookbook for Teckin SB50 Bulb :docspr:`360` by :ghuser:`nebula-it`
- esphome: Add mcp23008 support :esphomepr:`649` by :ghuser:`TomFahey`
- docs: Adding the IO2 pin to the GPIO pin list :docspr:`354` by :ghuser:`SqyD`
- docs: Updated MCP23017 Component To Cover 8 & 16 Port Chips :docspr:`277` by :ghuser:`TomFahey`
- esphome: Brightness ssd1306 :esphomepr:`723` by :ghuser:`glmnet`
- esphome: Fix potential ISR digital_write issue :esphomepr:`753`
- esphome: Fix addressable light fade to black function :esphomepr:`752`
- esphome: Make UART flush function consistent :esphomepr:`748`
- esphome: Update and pin all python requirements :esphomepr:`759`
- esphome: Fix MCP23017 setup priority :esphomepr:`751`
- esphome: Add rotary_encoder.set_value action :esphomepr:`747` (new-feature)
- esphome: Fix strobe/flicker effect not using selected value :esphomepr:`749`
- esphome: Add support for TTGO ePaper module :esphomepr:`730` by :ghuser:`thomasklingbeil`
- esphome: BME280: Increase sensor timeout :esphomepr:`727` by :ghuser:`lobradov`
- esphome: Base climate ir :esphomepr:`726` by :ghuser:`glmnet`
- docs: Add documentation for TTGO ePaper :docspr:`342` by :ghuser:`thomasklingbeil`
- esphome: Fix dallas not unknown :esphomepr:`716`
- esphome: Integration sensor use double precision :esphomepr:`715`
- esphome: calibrate_linear check not all from values same :esphomepr:`714`
- esphome: SenseAir S8 CO2 sensor support :esphomepr:`705` by :ghuser:`Anonym-tsk`
- docs: SenseAir S8 CO2 sensor support :docspr:`330` by :ghuser:`Anonym-tsk`
- esphome: Fix remote_transmitter type_a encoding :esphomepr:`742` by :ghuser:`nicuh`
- esphome: vscode support check file exists :esphomepr:`763` by :ghuser:`glmnet`
- docs: Proof reading changes :docspr:`364` by :ghuser:`thenameiwantedwastaken`
- docs: add tcl112 receiver docs :docspr:`365` by :ghuser:`glmnet`
- esphome: add tcl112 receiver :esphomepr:`762` by :ghuser:`glmnet`
- esphome: Sensor filter_out rounded :esphomepr:`765`
- esphome: Use higher default baudrate for USB upload :esphomepr:`761`
- esphome: add support for climate action :esphomepr:`720` by :ghuser:`marcelveldt`
- esphome: Add LEDC set_frequency action :esphomepr:`754` (new-feature)
- esphome: Fork some base libraries :esphomepr:`758`
- esphome: Update ESP8266/ESP32 bases :esphomepr:`760`
- esphome: Captive portal fixes :esphomepr:`766`
- esphome: Fix typo in Component::set_interval :esphomepr:`767`
- esphome: Fix platformio monkey patch :esphomepr:`768`
- esphome: Addressable light transition :esphomepr:`750` (new-feature)
- esphome: Fixes for Python 3 :esphomepr:`702` by :ghuser:`fabaff`
- esphome: Add BLE scan parameters :esphomepr:`769` (new-feature)
- esphome: Filter some debug lines from PlatformIO in output :esphomepr:`771`
- esphome: ESP32 Upgrade AsyncTCP to 1.1.1 :esphomepr:`773`
- esphome: Switch to Python 3 for docker installs :esphomepr:`774`
- docs: Add script.wait action :docspr:`367` (new-feature)
- docs: Add ESP32 scan parameters :docspr:`368`
- docs: Hint how to include HA secrets.yaml instead :docspr:`362` by :ghuser:`rlowens`
- esphome: Add SSD1325 Display Component :esphomepr:`736` by :ghuser:`evandcoleman` (cherry-picked)
- docs: Add documentation for SSD1325 OLED displays :docspr:`347` by :ghuser:`evandcoleman` (cherry-picked)
- esphome: Add support for SGP30 eCO2 and TVOC sensors :esphomepr:`679` by :ghuser:`valordk` (cherry-picked)
- docs: Add documentation for SGP30 eCO2 and TVOC sensors :docspr:`308` by :ghuser:`valordk` (cherry-picked)
- esphome: Add support for SHTCx Temperature sensors :esphomepr:`676` by :ghuser:`valordk` (cherry-picked)
- esphome: Add support for STS3x Temperature sensors :esphomepr:`669` by :ghuser:`valordk` (cherry-picked)
- docs: Add documentation for SHTCx Temperature sensors :docspr:`305` by :ghuser:`valordk` (cherry-picked)
- docs: Add documentation for STS3x Temperature sensors :docspr:`300` by :ghuser:`valordk` (cherry-picked)
- esphome: Add dfplayer mini component :esphomepr:`655` by :ghuser:`glmnet` (cherry-picked)
- docs: Add DFPlayer docs :docspr:`306` by :ghuser:`glmnet` (cherry-picked)
- docs: Add rotary_encoder.set_value action :docspr:`358` (cherry-picked)
- esphome: Add new component for Tuya dimmers :esphomepr:`743` by :ghuser:`ssieb` (cherry-picked)
- docs: Add documentation for new Tuya dimmer component :docspr:`353` by :ghuser:`ssieb` (cherry-picked)
- docs: SX1509 device documentation :docspr:`315` by :ghuser:`mvturnho` (cherry-picked)
- docs: Fix typo :docspr:`352` by :ghuser:`bonanitech`
- docs: Minor typo :docspr:`349` by :ghuser:`dannysauer`
- docs: Clarify NodeMCU ESP8266 VIN pin :docspr:`340` by :ghuser:`Justahobby01`
- docs: Add TorchStar LED controller to 'Generic Sonoff' page :docspr:`351` by :ghuser:`dale3h`
- docs: Remove references to Python 2 :docspr:`328` by :ghuser:`fabaff` (cherry-picked)
- docs: Cookbook Guide for Zemismart LED RGBW Downlights :docspr:`297` by :ghuser:`cryptelli`
- docs: Authorization by username and password :docspr:`296` by :ghuser:`Anonym-tsk` (cherry-picked)
- docs: AS3935 Lightning sensor :docspr:`294` by :ghuser:`TheEggi` (cherry-picked)
- docs: Cookbook ape :docspr:`334` by :ghuser:`glmnet`
- esphome: Add lint check for integer constants :esphomepr:`775`
- docs: fix indent on sample :docspr:`369` by :ghuser:`glmnet` (cherry-picked)
- esphome: Add script.wait action :esphomepr:`778` (cherry-picked) (new-feature)
- docs: update esp32camera documentation - note about PWM :docspr:`348` by :ghuser:`h0--`
- esphome: Vl53l0x :esphomepr:`644` (cherry-picked)
- esphome: Add GPIO Switch interlock wait time :esphomepr:`777` (cherry-picked) (new-feature)
- esphome: Add PZEM004T/PZEMAC/PZEMDC Support :esphomepr:`587` (cherry-picked)
- esphome: Update AsyncMQTTClient/ESPAsyncWebServer :esphomepr:`779` (cherry-picked)
- esphome: Implementation of LCD Clear :esphomepr:`781` by :ghuser:`amishv` (cherry-picked)
- docs: fixed typo :docspr:`370` by :ghuser:`amishv`
- esphome: Add sensor force_update option :esphomepr:`783` (cherry-picked) (new-feature)
- docs: Add sensor force_update option :docspr:`371` (cherry-picked)
- docs: Spelling and grammar fixes :docspr:`372` by :ghuser:`scop`
- docs: Add missing actual install step in getting started with Hass.io :docspr:`373` by :ghuser:`scop`
- esphome: Update docker base image to 2.0.1 :esphomepr:`785` (cherry-picked)
- esphome: Fix ledc can't find bit_depth :esphomepr:`786` (cherry-picked)
- esphome: web_server_base AUTO_LOAD includes ASYNC_TCP :esphomepr:`788` by :ghuser:`Schnilz` (cherry-picked)
- esphome: Add Python 2 deprecation notice :esphomepr:`784` (breaking-change) (cherry-picked)
- docs: Update time.rst to add GPS as source :docspr:`375` by :ghuser:`mbo18`
- esphome: Fix modbus CRC calculation :esphomepr:`789` (cherry-picked)
- esphome: Add additional custom lint checks :esphomepr:`790` (cherry-picked)
- esphome: Implement more dump_configs :esphomepr:`791` (cherry-picked)
- esphome: Add missing include - fixes missing GPIOPin definition :esphomepr:`794` by :ghuser:`cjd` (cherry-picked)
- esphome: Fix MQTT not showing logs with Python 3 :esphomepr:`797` (cherry-picked)
- esphome: Fix scheduler first execution :esphomepr:`798` (cherry-picked)
- esphome: Make file generation saving atomic :esphomepr:`792` (cherry-picked)
- esphome: Fujitsu General climate new component :esphomepr:`677` by :ghuser:`31337Ghost` (cherry-picked)
- esphome: Warn when UART and logger operating on same bus :esphomepr:`803` (cherry-picked)
- esphome: Add Tuya message for no datapoints :esphomepr:`804` (cherry-picked)
- esphome: AS3935 Use normal pin polling for IRQ :esphomepr:`805` (cherry-picked)
- esphome: Fix modbus register :esphomepr:`806` (cherry-picked)
- esphome: Fix web server transition length truncated :esphomepr:`807` (cherry-picked)
- docs: fix xiaomi docs :docspr:`384` by :ghuser:`Alex9779` (cherry-picked)
- esphome: Add check if middle_text is too short :esphomepr:`811` by :ghuser:`grea09` (cherry-picked)
- esphome: [Hotfix] Dashboard authentication on Py3 :esphomepr:`812` by :ghuser:`Anonym-tsk` (cherry-picked)
- esphome: Uppercase ESPHome :esphomepr:`814` (cherry-picked)
- esphome: Print update interval for pulse counter :esphomepr:`816` (cherry-picked)
- esphome: Allow TimePeriod for time_period_str_unit :esphomepr:`815` (cherry-picked)
- docs: Typo fix pzem004t :docspr:`387` by :ghuser:`Anonym-tsk` (cherry-picked)
- esphome: Scheduler fixes :esphomepr:`813` (cherry-picked)
- esphome: Fix fan oscillating :esphomepr:`818` (cherry-picked)
- esphome: Fix some binary_sensor not having an initial state :esphomepr:`819` (cherry-picked)
Past Changelogs
---------------
.. toctree::
:maxdepth: 1
v1.13.0
v1.12.0
v1.11.0
v1.10.0
v1.9.0
v1.8.0
v1.7.0

View File

@ -43,6 +43,27 @@ Advanced options:
channel <https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/ledc.html#configure-channel>`__
to use. Two adjacent channels share the same timer. Defaults to an automatic selection.
.. _output-ledc-set_frequency_action:
``output.ledc.set_frequency`` Action
------------------------------------
This :ref:`Action <config-action>` allows you to manually change the frequency of an LEDC
channel at runtime. Use cases include controlling a passive buzzer (for pitch control).
.. code-block:: yaml
on_...:
- output.ledc.set_frequency:
id: ledc_output
frequency: 100Hz
Configuration variables:
- **id** (**Required**, :ref:`config-id`): The ID of the LEDC output to change.
- **frequency** (**Required**, :ref:`templatable <config-templatable>`, float): The frequency
to set in hertz.
See Also
--------

View File

@ -171,6 +171,8 @@ The arguments are a list of data points, each in the form ``MEASURED -> TRUTH``.
then fit a linear equation to the values (using least squares). So you need to supply at least
two values.
.. _sensor-calibrate_polynomial:
``calibrate_polynomial``
************************

View File

@ -49,6 +49,11 @@ Configuration variables:
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- All other options from :ref:`Sensor <config-sensor>`.
.. note::
See :doc:`integration sensor </components/sensor/integration>` for summing up pulse counter
values over time.
Converting units
----------------

View File

@ -61,6 +61,8 @@ Configuration variables:
the knob further will not increase the number. Defaults to no maximum.
- All other options from :ref:`Sensor <config-sensor>`.
.. _sensor-rotary_encoder-set_value_action:
``sensor.rotary_encoder.set_value`` Action
------------------------------------------

View File

@ -171,6 +171,9 @@ Configuration variables:
This can be used to further restrict which networks to connect to.
- **hidden** (*Optional*, boolean): Whether this network is hidden. Defaults to false.
If you add this option you also have to specify ssid.
- **priority** (*Optional*, float): The priority of this network. After each time, the network with
the highest priority is chosen. If the connection fails, the priority is decreased by one.
Defaults to ``0``.
.. _wifi-connected_condition:

View File

@ -72,7 +72,7 @@ author = 'Otto Winter'
# The short X.Y version.
version = '1.14'
# The full version, including alpha/beta/rc tags.
release = '1.14.0-dev'
release = '1.14.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -34,6 +34,94 @@ The example below is an example of a custom component that can do anything you w
}
};
(Store this file in your configuration directory, for example ``my_custom_component.h``)
And in YAML:
.. code-block:: yaml
# Example configuration entry
esphome:
includes:
- my_custom_component.h
custom_component:
- lambda: |-
auto my_custom = new MyCustomComponent();
return {my_custom};
Configuration variables:
- **lambda** (**Required**, :ref:`lambda <config-lambda>`): The lambda to run for instantiating the
binary sensor(s).
See also :apiclass:`Component`.
Native API Custom Component
---------------------------
If you want to communicate directly with Home Assistant via the :doc:`native API </components/api>`
you can use the :apiclass:`CustomAPIDevice` class to declare services that can be executed from
Home Assistant, as well as starting services in Home Assistant.
.. code-block:: cpp
#include "esphome.h"
class MyCustomComponent : public Component, public CustomAPIDevice {
public:
void setup() override {
// This will be called once to set up the component
// think of it as the setup() call in Arduino
pinMode(6, OUTPUT);
// Declare a service "hello_world"
// - Service will be called "esphome.<NODE_NAME>_hello_world" in Home Assistant.
// - The service has no arguments
// - The function on_hello_world declared below will attached to the service.
register_service(&MyCustomComponent::on_hello_world, "hello_world");
// Declare a second service "start_washer_cycle"
// - Service will be called "esphome.<NODE_NAME>_start_washer_cycle" in Home Assistant.
// - The service has three arguments (type inferred from method definition):
// - cycle_duration: integer
// - silent: boolean
// - string_argument: string
// - The function on_hello_world declared below will attached to the service.
register_service(&MyCustomComponent::on_start_washer_cycle, "start_washer_cycle",
{"cycle_duration", "silent", "string_argument"});
// Subscribe to a Home Assistant state "sensor.temperature"
// - Each time the ESP connects or Home Assistant updates the state, the function
// on_state_changed will be called
// - The state is a string - if you want to use it as an int you must parse it manually
subscribe_homeassistant_state(&MyCustomComponent::on_state_changed, "sensor.temperature");
}
void on_hello_world() {
ESP_LOGD("custom", "Hello World!");
if (is_connected()) {
// Example check to see if a client is connected
}
}
void on_start_washer_cycle(int cycle_duration, bool silent, std::string string_argument) {
ESP_LOGD("custom", "Starting washer cycle!");
digitalWrite(8, HIGH);
// do something with arguments
// Call a homeassistant service
call_homeassistant_service("homeassistant.service");
}
void on_state_changed(std::string state) {
ESP_LOGD(TAG, "Temperature has changed to %s", state.c_str());
}
};
See also :apiclass:`CustomAPIDevice`.
MQTT Custom Component
---------------------
In many cases however components should communicate with other appliances using the network.
That's why there is :apiclass:`mqtt::CustomMQTTDevice`. It is a helper class to create
custom components that communicate using MQTT.
@ -77,28 +165,7 @@ custom components that communicate using MQTT.
}
};
(Store this file in your configuration directory, for example ``my_custom_component.h``)
And in YAML:
.. code-block:: yaml
# Example configuration entry
esphome:
includes:
- my_custom_component.h
custom_component:
- lambda: |-
auto my_custom = new MyCustomComponent();
return {my_custom};
Configuration variables:
- **lambda** (**Required**, :ref:`lambda <config-lambda>`): The lambda to run for instantiating the
binary sensor(s).
See :apiclass:`Component` and :apiclass:`mqtt::CustomMQTTDevice`.
See also :apiclass:`mqtt::CustomMQTTDevice`.
See Also
--------

View File

@ -120,7 +120,10 @@ class ImageTableDirective(Table):
continue
name, page, image = row
link = page.strip()
if not link.startswith('http') and not link.startswith('/'):
if link.startswith('http'):
pass
else:
if not link.startswith('/'):
link = '/{}'.format(link)
if '.html' not in link:
link += '.html'

View File

@ -361,12 +361,13 @@ All Actions
- :ref:`globals.set <globals-set_action>`
- :ref:`remote_transmitter.transmit_* <remote_transmitter-transmit_action>`
- :ref:`climate.control <climate-control_action>`
- :ref:`output.esp8266_pwm.set_frequency <output-esp8266_pwm-set_frequency_action>`
- :ref:`output.esp8266_pwm.set_frequency <output-esp8266_pwm-set_frequency_action>` / :ref:`output.ledc.set_frequency <output-ledc-set_frequency_action>`
- :ref:`sensor.integration.reset <sensor-integration-reset_action>`
- :ref:`display.page.show_* <display-pages>`
- :ref:`uart.write <uart-write_action>`
- :ref:`sim800l.send_sms <sim800l-send_sms_action>`
- :ref:`mhz19.calibrate_zero <mhz19-calibrate_zero_action>` / :ref:`mhz19.abc_enable <mhz19-abc_enable_action>` / :ref:`mhz19.abc_disable <mhz19-abc_disable_action>`
- :ref:`sensor.rotary_encoder.set_value <sensor-rotary_encoder-set_value_action>`
.. _config-condition:

76
guides/diy.rst Normal file
View File

@ -0,0 +1,76 @@
DIY Examples
============
.. seo::
:description: Community curated list of DIY creations and custom code for ESPHome.
:image: earth.png
This is a curated list of awesome creations with ESPHome containing various
custom components, blog posts, videos and sample configurations. It should serve as a means of
finding inspiration for new projects and finding other ESPHome-enthusiasts on the web.
This page purposefully has little moderation. Found something great or have something to share?
Great, create a pull request on GitHub adding the link to this file (:ghedit:`Edit`)!
The usual rules of don't be an asshole apply - don't put your link at the top of the list
unless it's truly exceptional, etc.
.. warning::
These configurations and custom components are *not officially maintained* by the
ESPHome team. If an API changes or there's a breaking change, it's up to the author to update
the post.
Blog Posts & Videos
-------------------
- Ultrasonic Salt Level Sensor: https://adonno.com/salt-level-sensor/
- Smart $2 doorbell: https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/
- Cheap Car Presence Detection: https://adonno.com/car-presence-position-detection/
- Calibrating Power Sensors: https://frenck.dev/calibrating-an-esphome-flashed-power-plug/
- Count Water Bottles: https://vigonotion.com/blog/monitor-remainding-water-bottles/
- ESPHome Weather Station with Nextion display: https://github.com/bruxy70/Home-Assistant-ESPHome-Weather-Station
- ESPHome Wall Mount with Nextion Display: https://github.com/Andoramb/Nextion-wall-mount (https://www.youtube.com/watch?v=TL8wZNnS4jI)
- Sonoff 4CH Irrigation Controller with Nextion Display: https://github.com/bruxy70/Irrigation-with-display
- Automated Bathroom Ventilation: https://www.youtube.com/watch?v=weBDnmrQYOs
- ESPHome MP3 Sound Machine: https://selfhostedhome.com/esp8266-mp3-sound-machine/
- ESP32 Camera+ESP8266 PIR: https://www.dopebuild.com/i-am-sorry-dave-i-am-unable-to-do-that/
- Detecting Sound with ESP8266: https://thibmaek.com/post/detecting-sound-level-using-esp8266-and-esphome
Custom Components & Code
------------------------
- Custom RGBW Light Output emulating color temperature support: https://gist.github.com/madjam002/31cc88640efa370630fed6914fa4eb7f
- Custom ESPHome native API to influxdb python script: https://gist.github.com/fpletz/d071c72e45d17ba274fd61ca7a465033#file-esphome-sensor-influxdb-py
- Custom Electra HVAC climate component: https://gist.github.com/liads/c702fd4b8529991af9cd52d03b694814
- Custom D6T Thermal Sensor: https://gist.github.com/mKeRix/4fc553574af0a2d8682734695160b859
- Custom 斐讯DC1 Mains Socket Component (chinese): https://github.com/Samuel-0-0/phicomm_dc1-esphome
- Custom Component for Tuya PIR sensors: https://github.com/brandond/esphome-tuya_pir
- DIY Whole Home Power Monitoring with ATM90E32AS chip: https://www.youtube.com/watch?v=BOgy6QbfeZk
- SK6812 Addressable Light as Display Matrix: https://github.com/rnauber/ESPHomeMatrixLED
- Custom MAX7219 Matrix Display Component: https://github.com/ASMfreaK/esphome_max7219
- Custom ESPHome Roomba Component: https://github.com/mannkind/ESPHomeRoombaComponent
- Custom Real-Time LED strip music visualization: https://github.com/zhujisheng/audio-reactive-led-strip
- Custom ITHO Fan control: https://github.com/CoMPaTech/esphome_c1101
- Custom LCTech 4-channel relay output: https://github.com/nekromant/esphome-lctech-4chanel-modules
- LIFX Protocol for ESPHome: https://github.com/giantorth/ESPHomeLifx
- Custom ESPHome Keypad sensor: https://github.com/Syralist/esphomekeypad
- LINP-Doorbell-g03 Custom Component: https://github.com/pauln/esphome-linp-doorbell-g03
- ESPHome <-> Homebridge: https://www.npmjs.com/package/homebridge-esphome
Sample Configurations
---------------------
- esphome-configs.io by :ghuser:`jonathanadams`: https://esphome-configs.io/
- Ultrasonic Sensor for detecting if car in Garage: https://gist.github.com/Snipercaine/f3908a051fd79e6d7d7b765152666c2a
- Sonoff POW R2 Washing Machine Sensor: https://gist.github.com/frenck/1b4f0ea98f1f6d86d597c2d9636636db
- Sonoff iFan02 Custom Output Example: https://gist.github.com/quazzie/09ee3ef2c419ecbcf979a7410062481b
- TTGO Esp32 Camera with display: https://gist.github.com/Snipercaine/d8345571563536e9661422c3509d1119
- ESPHome configs using ``substitution`` and ``!include``, by :ghuser:`AlexMekkering`: https://github.com/AlexMekkering/esphome-config
- ESPHome configs by :ghuser:`glmnet`: https://github.com/glmnet/esphome_devices
- DS102 3 Gang: https://gist.github.com/tribut/ddde2ef1e2fa3919c50c4ab9c03e7056
- ESP32 Higrow Plant Moisture Sensor: https://gist.github.com/WoLpH/bc284ba9aeb5d1263f72d6294e239c1a
- Send push notification to phone when dryer cycle has finished: https://gist.github.com/jeffehobbs/93ab682705ec3bbba19887903e7ccdb9
- ESP8266 Smart Sprinkler Project: https://github.com/selfhostedhome/smart-sprinkler
- LOHAS RGBW/CWWW Smart bulbs: https://www.youtube.com/watch?v=fTb6n6flJIw
- ESPHome with MakerLife Weather Station Kit: https://github.com/mkuoppa/esphomeweatherstation
- ESPHome DIY Multisensor Cat Feeder: https://github.com/335iguy/diy-multisensor-cat-feeder

View File

@ -63,6 +63,7 @@ You guys are awesome!
- Nigel Michki
- Paul Krischer
- Paul Morley
- Paweł Kawa
- Philippe Penochet
- Radu Tizu
- Roman Priesol
@ -90,7 +91,7 @@ that have made it into the `ESPHome organization's <https://github.com/esphome>`
Author & Main Developer
***********************
- `Otto Winter (@OttoWinter) <https://github.com/OttoWinter>`__ - 1991 contributions
- `Otto Winter (@OttoWinter) <https://github.com/OttoWinter>`__ - 2068 contributions
Contributors
************
@ -101,10 +102,10 @@ Contributors
- `Pavel Golovin (@31337Ghost) <https://github.com/31337Ghost>`__ - 1 contribution
- `Pavel Pletenev (@ASMfreaK) <https://github.com/ASMfreaK>`__ - 1 contribution
- `Aalian Khan (@AalianKhan) <https://github.com/AalianKhan>`__ - 4 contributions
- `Alexander Leisentritt (@Alex9779) <https://github.com/Alex9779>`__ - 2 contributions
- `Alexander Leisentritt (@Alex9779) <https://github.com/Alex9779>`__ - 4 contributions
- `Alexandre Danault (@AlexDanault) <https://github.com/AlexDanault>`__ - 1 contribution
- `Alex Mekkering (@AlexMekkering) <https://github.com/AlexMekkering>`__ - 1 contribution
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__ - 11 contributions
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__ - 19 contributions
- `Rutger Nijhuis (@BananaPukeh) <https://github.com/BananaPukeh>`__ - 1 contribution
- `Bierchermuesli (@Bierchermuesli) <https://github.com/Bierchermuesli>`__ - 1 contribution
- `John (@CircuitSetup) <https://github.com/CircuitSetup>`__ - 1 contribution
@ -112,12 +113,13 @@ Contributors
- `Eenoo (@Eenoo) <https://github.com/Eenoo>`__ - 1 contribution
- `EmmanuelLM (@EmmanuelLM) <https://github.com/EmmanuelLM>`__ - 1 contribution
- `FrengerH (@FrengerH) <https://github.com/FrengerH>`__ - 2 contributions
- `mr G1K (@G1K) <https://github.com/G1K>`__ - 1 contribution
- `mr G1K (@G1K) <https://github.com/G1K>`__ - 2 contributions
- `Jimmy Hedman (@HeMan) <https://github.com/HeMan>`__ - 5 contributions
- `Lorenzo Ortiz (@Infinitte) <https://github.com/Infinitte>`__ - 1 contribution
- `Johboh (@Johboh) <https://github.com/Johboh>`__ - 2 contributions
- `Justahobby01 (@Justahobby01) <https://github.com/Justahobby01>`__ - 1 contribution
- `Fredrik Lindqvist (@Landrash) <https://github.com/Landrash>`__ - 1 contribution
- `Lumpusz (@Lumpusz) <https://github.com/Lumpusz>`__ - 1 contribution
- `Marco (@Melkor82) <https://github.com/Melkor82>`__ - 2 contributions
- `Mynasru (@Mynasru) <https://github.com/Mynasru>`__ - 2 contributions
- `Erik Näsström (@Naesstrom) <https://github.com/Naesstrom>`__ - 1 contribution
@ -126,15 +128,15 @@ Contributors
- `Paul Krischer (@SqyD) <https://github.com/SqyD>`__ - 1 contribution
- `Teemu Mikkonen (@T3m3z) <https://github.com/T3m3z>`__ - 2 contributions
- `Taigar2015 (@Taigar2015) <https://github.com/Taigar2015>`__ - 1 contribution
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__ - 2 contributions
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__ - 4 contributions
- `Spencer Hachmeister (@TheHackmeister) <https://github.com/TheHackmeister>`__ - 1 contribution
- `TheJulianJES (@TheJulianJES) <https://github.com/TheJulianJES>`__ - 2 contributions
- `Florian Gareis (@TheZoker) <https://github.com/TheZoker>`__ - 7 contributions
- `TomFahey (@TomFahey) <https://github.com/TomFahey>`__ - 1 contribution
- `TomFahey (@TomFahey) <https://github.com/TomFahey>`__ - 2 contributions
- `Rick van Hattem (@WoLpH) <https://github.com/WoLpH>`__ - 1 contribution
- `ZabojnikM (@ZabojnikM) <https://github.com/ZabojnikM>`__ - 1 contribution
- `Abílio Costa (@abmantis) <https://github.com/abmantis>`__ - 1 contribution
- `Attila Darazs (@adarazs) <https://github.com/adarazs>`__ - 1 contribution
- `Attila Darazs (@adarazs) <https://github.com/adarazs>`__ - 2 contributions
- `Johan Bloemberg (@aequitas) <https://github.com/aequitas>`__ - 6 contributions
- `Anders (@ahd71) <https://github.com/ahd71>`__ - 1 contribution
- `amishv (@amishv) <https://github.com/amishv>`__ - 3 contributions
@ -144,7 +146,7 @@ Contributors
- `Paulus Schoutsen (@balloob) <https://github.com/balloob>`__ - 1 contribution
- `Mauricio Bonani (@bonanitech) <https://github.com/bonanitech>`__ - 1 contribution
- `Patrik Hermansson (@bphermansson) <https://github.com/bphermansson>`__ - 1 contribution
- `Brandon Davidson (@brandond) <https://github.com/brandond>`__ - 14 contributions
- `Brandon Davidson (@brandond) <https://github.com/brandond>`__ - 15 contributions
- `brianrjones69 (@brianrjones69) <https://github.com/brianrjones69>`__ - 1 contribution
- `bwente (@bwente) <https://github.com/bwente>`__ - 1 contribution
- `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__ - 1 contribution
@ -155,7 +157,7 @@ Contributors
- `Dale Higgs (@dale3h) <https://github.com/dale3h>`__ - 1 contribution
- `Danny Sauer (@dannysauer) <https://github.com/dannysauer>`__ - 1 contribution
- `Dave Richer (@davericher) <https://github.com/davericher>`__ - 3 contributions
- `Mario Di Raimondo (@diraimondo) <https://github.com/diraimondo>`__ - 1 contribution
- `Mario Di Raimondo (@diraimondo) <https://github.com/diraimondo>`__ - 2 contributions
- `Dirk Jahnke (@dirkj) <https://github.com/dirkj>`__ - 1 contribution
- `Jiang Sheng (@doskoi) <https://github.com/doskoi>`__ - 1 contribution
- `Robert Schütz (@dotlambda) <https://github.com/dotlambda>`__ - 3 contributions
@ -166,15 +168,15 @@ Contributors
- `erazor666 (@erazor666) <https://github.com/erazor666>`__ - 1 contribution
- `Eric Hiller (@erichiller) <https://github.com/erichiller>`__ - 1 contribution
- `escoand (@escoand) <https://github.com/escoand>`__ - 6 contributions
- `Evan Coleman (@evandcoleman) <https://github.com/evandcoleman>`__ - 1 contribution
- `Evan Coleman (@evandcoleman) <https://github.com/evandcoleman>`__ - 2 contributions
- `Malte Franken (@exxamalte) <https://github.com/exxamalte>`__ - 2 contributions
- `Fabian Affolter (@fabaff) <https://github.com/fabaff>`__ - 14 contributions
- `Fabian Affolter (@fabaff) <https://github.com/fabaff>`__ - 15 contributions
- `C W (@fake-name) <https://github.com/fake-name>`__ - 1 contribution
- `Fredrik Erlandsson (@fredrike) <https://github.com/fredrike>`__ - 1 contribution
- `Fritz Mueller (@fritzm) <https://github.com/fritzm>`__ - 1 contribution
- `gitolicious (@gitolicious) <https://github.com/gitolicious>`__ - 11 contributions
- `The Gitter Badger (@gitter-badger) <https://github.com/gitter-badger>`__ - 1 contribution
- `Guillermo Ruffino (@glmnet) <https://github.com/glmnet>`__ - 34 contributions
- `Guillermo Ruffino (@glmnet) <https://github.com/glmnet>`__ - 41 contributions
- `Giorgos Logiotatidis (@glogiotatidis) <https://github.com/glogiotatidis>`__ - 1 contribution
- `Antoine GRÉA (@grea09) <https://github.com/grea09>`__ - 4 contributions
- `guptamp (@guptamp) <https://github.com/guptamp>`__ - 1 contribution
@ -186,16 +188,17 @@ Contributors
- `jcullen86 (@jcullen86) <https://github.com/jcullen86>`__ - 1 contribution
- `Joshua Dadswell (@jdads1) <https://github.com/jdads1>`__ - 1 contribution
- `jeff-h (@jeff-h) <https://github.com/jeff-h>`__ - 2 contributions
- `Jesse Hills (@jesserockz) <https://github.com/jesserockz>`__ - 7 contributions
- `Jesse Hills (@jesserockz) <https://github.com/jesserockz>`__ - 8 contributions
- `Jonathan Jefferies (@jjok) <https://github.com/jjok>`__ - 1 contribution
- `John Erik Halse (@johnerikhalse) <https://github.com/johnerikhalse>`__ - 1 contribution
- `JonnyaiR (@jonnyair) <https://github.com/jonnyair>`__ - 2 contributions
- `junnikokuki (@junnikokuki) <https://github.com/junnikokuki>`__ - 1 contribution
- `Jasper van der Neut - Stulen (@jvanderneutstulen) <https://github.com/jvanderneutstulen>`__ - 1 contribution
- `Jasper van der Neut - Stulen (@jvanderneutstulen) <https://github.com/jvanderneutstulen>`__ - 2 contributions
- `Jack Wozny (@jwozny) <https://github.com/jwozny>`__ - 1 contribution
- `Robert Kiss (@kepten) <https://github.com/kepten>`__ - 1 contribution
- `Robert Kiss (@kepten) <https://github.com/kepten>`__ - 2 contributions
- `Kevin O'Rourke (@kevinior) <https://github.com/kevinior>`__ - 1 contribution
- `kimonm (@kimonm) <https://github.com/kimonm>`__ - 1 contribution
- `Kevin Lewis (@kll) <https://github.com/kll>`__ - 1 contribution
- `Ken Davidson (@kwdavidson) <https://github.com/kwdavidson>`__ - 1 contribution
- `Jeppe Ladefoged (@ladefoged81) <https://github.com/ladefoged81>`__ - 2 contributions
- `Lazar Obradovic (@lobradov) <https://github.com/lobradov>`__ - 4 contributions
@ -203,7 +206,7 @@ Contributors
- `Marc-Antoine Courteau (@macourteau) <https://github.com/macourteau>`__ - 1 contribution
- `Magnus (@magnusja) <https://github.com/magnusja>`__ - 1 contribution
- `Magnus Øverli (@magnusoverli) <https://github.com/magnusoverli>`__ - 1 contribution
- `Major Péter (@majorpeter) <https://github.com/majorpeter>`__ - 1 contribution
- `Major Péter (@majorpeter) <https://github.com/majorpeter>`__ - 2 contributions
- `Marcel van der Veldt (@marcelveldt) <https://github.com/marcelveldt>`__ - 2 contributions
- `mbo18 (@mbo18) <https://github.com/mbo18>`__ - 1 contribution
- `MeIchthys (@meichthys) <https://github.com/meichthys>`__ - 1 contribution
@ -212,8 +215,8 @@ Contributors
- `mjoshd (@mjoshd) <https://github.com/mjoshd>`__ - 2 contributions
- `Matt N. (@mnoorenberghe) <https://github.com/mnoorenberghe>`__ - 1 contribution
- `Matthew Pettitt (@mpettitt) <https://github.com/mpettitt>`__ - 1 contribution
- `mtl010957 (@mtl010957) <https://github.com/mtl010957>`__ - 7 contributions
- `Michiel van Turnhout (@mvturnho) <https://github.com/mvturnho>`__ - 11 contributions
- `mtl010957 (@mtl010957) <https://github.com/mtl010957>`__ - 9 contributions
- `Michiel van Turnhout (@mvturnho) <https://github.com/mvturnho>`__ - 14 contributions
- `Niels Ulrik Andersen (@myplacedk) <https://github.com/myplacedk>`__ - 1 contribution
- `Kevin Uhlir (@n0bel) <https://github.com/n0bel>`__ - 1 contribution
- `Nebula (@nebula-it) <https://github.com/nebula-it>`__ - 1 contribution
@ -246,24 +249,24 @@ Contributors
- `Robbie Page (@rorpage) <https://github.com/rorpage>`__ - 1 contribution
- `Ryan Nazaretian (@ryannazaretian) <https://github.com/ryannazaretian>`__ - 1 contribution
- `Ville Skyttä (@scop) <https://github.com/scop>`__ - 3 contributions
- `Sergio Mayoral Martínez (@sermayoral) <https://github.com/sermayoral>`__ - 1 contribution
- `Sergio Mayoral Martínez (@sermayoral) <https://github.com/sermayoral>`__ - 2 contributions
- `sethcohn (@sethcohn) <https://github.com/sethcohn>`__ - 1 contribution
- `Emanuele Tessore (@setola) <https://github.com/setola>`__ - 1 contribution
- `Abdelkader Boudih (@seuros) <https://github.com/seuros>`__ - 1 contribution
- `shbatm (@shbatm) <https://github.com/shbatm>`__ - 1 contribution
- `sherbang (@sherbang) <https://github.com/sherbang>`__ - 4 contributions
- `srg74 (@srg74) <https://github.com/srg74>`__ - 1 contribution
- `Samuel Sieb (@ssieb) <https://github.com/ssieb>`__ - 1 contribution
- `Levente Tamas (@tamisoft) <https://github.com/tamisoft>`__ - 1 contribution
- `Samuel Sieb (@ssieb) <https://github.com/ssieb>`__ - 2 contributions
- `Levente Tamas (@tamisoft) <https://github.com/tamisoft>`__ - 2 contributions
- `Andrew Quested (@thenameiwantedwastaken) <https://github.com/thenameiwantedwastaken>`__ - 1 contribution
- `Thomas Klingbeil (@thomasklingbeil) <https://github.com/thomasklingbeil>`__ - 1 contribution
- `Andrew Thompson (@thompsa) <https://github.com/thompsa>`__ - 1 contribution
- `Thomas Klingbeil (@thomasklingbeil) <https://github.com/thomasklingbeil>`__ - 2 contributions
- `Andrew Thompson (@thompsa) <https://github.com/thompsa>`__ - 2 contributions
- `thubot (@thubot) <https://github.com/thubot>`__ - 1 contribution
- `tiagofreire-pt (@tiagofreire-pt) <https://github.com/tiagofreire-pt>`__ - 1 contribution
- `tomlut (@tomlut) <https://github.com/tomlut>`__ - 1 contribution
- `Felix Eckhofer (@tribut) <https://github.com/tribut>`__ - 1 contribution
- `tubalainen (@tubalainen) <https://github.com/tubalainen>`__ - 2 contributions
- `Nad (@valordk) <https://github.com/valordk>`__ - 5 contributions
- `Nad (@valordk) <https://github.com/valordk>`__ - 9 contributions
- `Xuming Feng (@voicevon) <https://github.com/voicevon>`__ - 2 contributions
- `Ian Wells (@wellsi) <https://github.com/wellsi>`__ - 1 contribution
- `wutr (@wutr) <https://github.com/wutr>`__ - 1 contribution
@ -271,4 +274,4 @@ Contributors
- `Vladimir Eremin (@yottatsa) <https://github.com/yottatsa>`__ - 1 contribution
- `YuanL.Lee (@yuanl) <https://github.com/yuanl>`__ - 1 contribution
*This page was last updated Thu Oct 31 12:15:48 2019 UTC.*
*This page was last updated Sat Nov 2 09:35:32 2019 UTC.*

1
images/earth.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M17.9 17.39c-.26-.8-1.01-1.39-1.9-1.39h-1v-3a1 1 0 0 0-1-1H8v-2h2a1 1 0 0 0 1-1V7h2a2 2 0 0 0 2-2v-.41a7.984 7.984 0 0 1 2.9 12.8M11 19.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.22.21-1.79L9 15v1a2 2 0 0 0 2 2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2z"/></svg>

After

Width:  |  Height:  |  Size: 362 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M17 16.47V7.39l-6 4.54M2.22 9.19a.858.858 0 0 1-.02-1.15l1.2-1.11c.2-.18.69-.26 1.05 0l3.42 2.61 7.93-7.25c.32-.32.87-.45 1.5-.12l4 1.91c.36.21.7.54.7 1.15v13.5c0 .4-.29.83-.6 1l-4.4 2.1c-.32.13-.92.01-1.13-.2l-8.02-7.3-3.4 2.6c-.38.26-.85.19-1.05 0l-1.2-1.1c-.32-.33-.28-.87.05-1.2l3-2.7"/></svg>

After

Width:  |  Height:  |  Size: 369 B

View File

@ -38,6 +38,7 @@ Guides
Changelog, changelog/index, new-box.svg
Supporters, guides/supporters, heart.svg
DIY Examples, guides/diy, earth.svg
.. _devices:

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
svg2png/arduino_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
svg2png/earth.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB