mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-12-26 17:27:47 +01:00
Finish merge
This commit is contained in:
parent
6ecc76ba80
commit
c0e4244258
@ -94,17 +94,10 @@ exposes all of the basic functions.
|
||||
pin: GPIO12
|
||||
id: relay
|
||||
|
||||
output:
|
||||
- platform: esp8266_pwm
|
||||
id: basic_green_led
|
||||
status_led:
|
||||
pin:
|
||||
number: GPIO13
|
||||
inverted: True
|
||||
|
||||
light:
|
||||
- platform: monochromatic
|
||||
name: "Sonoff Basic Green LED"
|
||||
output: basic_green_led
|
||||
inverted: yes
|
||||
|
||||
Now run ``esphomeyaml sonoff_basic.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
@ -121,7 +114,6 @@ Or run the upload command if your device is connected to the serial interface:
|
||||
|
||||
esphomeyaml sonoff_basic.yaml run
|
||||
|
||||
|
||||
More detailed breakdown
|
||||
-----------------------
|
||||
|
||||
@ -281,15 +273,13 @@ Before installing the Sonoff, do a final OTA test, and this time selecting the O
|
||||
|
||||
Once these actions succeeded you are pretty much in the clear and can be sure your device is ready.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :doc:`sonoff_s20`
|
||||
- :doc:`Cookbook: Sonoff Fish Pond Pump </cookbook/sonoff-fishpond-pump>`
|
||||
- `GPIO locations <https://github.com/arendst/Sonoff-Tasmota/wiki/GPIO-Locations>`__
|
||||
- :ghedit:`Edit`
|
||||
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/esphomeyaml/devices/sonoff_basic.rst>`__
|
||||
|
||||
.. disqus::
|
||||
|
@ -1,253 +0,0 @@
|
||||
Changelog - Version 1.9.0
|
||||
=========================
|
||||
|
||||
.. seo::
|
||||
:description: Changelog for esphomelib version 1.9.0.
|
||||
:image: /_static/changelog-1.10.0.png
|
||||
:author: Otto Winter
|
||||
:author_twitter: @OttoWinter_
|
||||
|
||||
.. imgtable::
|
||||
|
||||
Native API, components/api, server-network.svg
|
||||
Dashboard+Hass.io Add-On Updates, guides/getting_started_hassio, home-assistant.svg
|
||||
Better Custom Components, components/sensor/custom, language-cpp.svg
|
||||
|
||||
APDS9960, components/sensor/apds9960, apds9960.jpg
|
||||
MAX31855, components/sensor/max31855, max31855.jpg
|
||||
ULN2003, components/stepper/index, stepper.svg
|
||||
|
||||
NeoPixelBus Light, components/light/neopixelbus, color_lens.svg
|
||||
ESP32 Ethernet, components/ethernet, ethernet.svg
|
||||
Home Assistant Sensor, components/sensor/homeassistant, home-assistant.svg
|
||||
|
||||
Native API
|
||||
----------
|
||||
|
||||
This release brings with it lots of goodies, but most important is the :doc:`native API </esphomeyaml/components/api>`.
|
||||
MQTT has been the only way this project communicated with Home Assistant for a while now. And MQTT is a great protocol
|
||||
to get started, but it always had problems:
|
||||
|
||||
- Another service to install - Users would need to install an MQTT broker in order to get started.
|
||||
- MQTT Discovery - Home Assistant's MQTT discovery has been great, but always had problems like retained messages etc.
|
||||
- Inefficient - A typical MQTT message for sending a binary sensor state is about 70 bytes long, and the MQTT library
|
||||
we used was quite inefficient with runtime memory allocation too.
|
||||
|
||||
So I decided to do something against that: ESPHome now features a native protocol (based on TCP+protocol buffers)
|
||||
that addresses these issues and has a
|
||||
`component on the Home Assistant <https://rc--home-assistant-docs.netlify.com/components/esphome/>`__
|
||||
side too.
|
||||
|
||||
**Does this mean MQTT will be removed?**
|
||||
|
||||
No! MQTT is an awesome protocol with easy integration for many tools like Node-RED and custom MQTT clients.
|
||||
This native API is only for replacing communications with Home Assistant, so *if* anything gets removed it's
|
||||
MQTT auto discovery for Home Assistant. Of course both can be used together at the same time too.
|
||||
|
||||
**Should I switch to the native API immediately?**
|
||||
|
||||
You definitely can, but a word of warning first: The MQTT implementation has seen tons of fixes for small quirks
|
||||
in how the ESP SDK works. From my own testing, the native API seems to be quite stable - but I'm sure it'll take a bit
|
||||
of time to find+fix some final bugs.
|
||||
|
||||
**How do I migrate from MQTT?**
|
||||
|
||||
First, make sure you run at least Home Assistant 0.85.0. Then, go through the
|
||||
:ref:`migration guide here <api-mqtt_to_native>`.
|
||||
|
||||
Python 3 Comparability
|
||||
----------------------
|
||||
|
||||
PlatformIO has finally implemented `python 3 support <https://github.com/platformio/platformio-core/issues/895>`__
|
||||
after some quick changes, ESPHome is now also compatible with python 3.5+. So with this new release
|
||||
you can try ESPHome with Python 3 already. Just make sure to install the development version of platformio first:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip3 install -U https://github.com/platformio/platformio-core/archive/develop.zip
|
||||
|
||||
I don't particularly like python 2, and in a year's time support for it will officially be ended. So the plan for
|
||||
ESPHome is to drop python 2 as soon as possible. Once platformio releases version 4.0 (with python 3 support), I
|
||||
will go through and check everything still works. Maybe ESPHome will support python 2 for 1 or 2 releases after that
|
||||
but really I want to drop support for python 2 as soon as possible.
|
||||
|
||||
Dashboard & Hass.io Addon Updates
|
||||
---------------------------------
|
||||
|
||||
The dashboard and Hass.io addon have seen a lot of ❤️ in this release: The dashboard has seen tons of small
|
||||
changes to make the user experience better and the Hass.io addon has been completely re-written with the
|
||||
`Hass.io Community Addon Images <https://github.com/hassio-addons>`__ as the base.
|
||||
|
||||
- The dashboard now features a built-in YAML editor.
|
||||
- Configuration wizard now shows a list of boards directly, so you just have to choose them from a dropdown.
|
||||
- Hass.io Addon: You can log in using your Home Assistant credentials now.
|
||||
- And many more changes (colored logs, auto-scroll, node status, update notifications, ...)
|
||||
|
||||
Rename: esphome{lib, yaml} -> ESPHome
|
||||
-------------------------------------
|
||||
|
||||
The name esphomelib and esphomeyaml were too technical, and this project has changed a lot since the first
|
||||
published release (the yaml part didn't even exist back then). So ... the project is being re-branded slightly:
|
||||
|
||||
- esphomeyaml -> ESPHome
|
||||
- esphomelib -> ESPHome Core
|
||||
- esphomedocs -> ESPHome Docs
|
||||
|
||||
As you see, the yaml project is now getting the "fancy" name, because that's by far the best way to use this framework.
|
||||
As part of this change, using the _core_ framework directly from code (without YAML) is being deprecated, the API docs
|
||||
have long been inaccurate now and users should really switch over to ESPHome through YAML
|
||||
|
||||
Of course that doesn't mean you won't be able to write custom code. In fact, this release also contains lots of
|
||||
new guides and changes to make creating custom components much easier. The goal is to have a project where users
|
||||
can use YAML for the boring boilerplate code but can completely customize everything with custom components.
|
||||
|
||||
This migration is of course huge - almost every single file in the code+docs base has esphome{lib, yaml} somewhere
|
||||
in it, so it will take time until the next release for this to be finished.
|
||||
|
||||
Breaking Changes
|
||||
----------------
|
||||
|
||||
- Previously, esphomelib would by default only publish every 15th sensor value in order to provide averaged values.
|
||||
However, that often confused users and I now decided to remove it **and** set the default update interval of
|
||||
all components to ``60s`` instead of the previous ``15s``. You can get back the old behavior by setting
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: ... # enter platform here
|
||||
# other settings
|
||||
update_interval: 15s
|
||||
filters:
|
||||
- sliding_window_moving_average:
|
||||
|
||||
- The fastled effects have been renamed to ``addressable_`` for the new
|
||||
:doc:`Neopixelbus </esphomeyaml/components/light/neopixelbus>` integration. See the validation error message
|
||||
for more info.
|
||||
|
||||
Other notable changes:
|
||||
----------------------
|
||||
|
||||
- You can now configured multiple WiFi networks to connect to. The best one will be chosen automatically.
|
||||
This is along with a *complete* rewrite of the WiFi component which now interacts directly with the ESP SDK.
|
||||
(:ref:`wifi-networks`)
|
||||
- GPIO Switches have a new option ``restore_mode`` to configure how their values should be restored on boot.
|
||||
(:doc:`/esphomeyaml/components/switch/gpio`)
|
||||
- Added :ref:`substitutions <config-substitutions>` to reduce repeating across configs.
|
||||
- Validation error messages are now displayed even better. Now all errors are shown with the exact context
|
||||
where the error appeared. Try it, it's so much better. Next step will be to upgrade to a better YAML reader
|
||||
to provide better error messages when the YAML syntax is invalid.
|
||||
- Added a bunch of guides (and helpers) for creating custom components. Also new: ``esphomeyaml.libraries``,
|
||||
``esphomeyaml.includes`` and ``esphomeyaml.platformio_options`` (:doc:`/esphomeyaml/components/esphomeyaml`)
|
||||
- Saved a lot of flash space on ESP8266 boards. Previously, platformio would allocate about 1/4 of flash for SPIFFS,
|
||||
but esphomelib doesn't use that so now you have that as extra storage. Thanks `@brandond <http://github.com/brandond>`
|
||||
- You can now use Home Assistant to get time in ESPHome, so no more need for SNTP. See :ref:`time`.
|
||||
|
||||
All changes
|
||||
-----------
|
||||
|
||||
- lib: Fix RDM6300 not reporting cards :libpr:`278` (cherry-picked)
|
||||
- lib: Fix RDM6300 not reporting cards :libpr:`278` (cherry-picked)
|
||||
- lib: Fix SNTP with less than 3 servers :libpr:`279` (cherry-picked)
|
||||
- lib: Fix SNTP with less than 3 servers :libpr:`279` (cherry-picked)
|
||||
- lib: Fix update interval log missing time unit :libpr:`280` (cherry-picked)
|
||||
- lib: Fix update interval log missing time unit :libpr:`280` (cherry-picked)
|
||||
- lib: Fix CSE7766 spamming logs :libpr:`281` (cherry-picked)
|
||||
- lib: Fix CSE7766 spamming logs :libpr:`281` (cherry-picked)
|
||||
- lib: Fix outdated links :libpr:`282` (cherry-picked)
|
||||
- lib: Fix outdated links :libpr:`282` (cherry-picked)
|
||||
- yaml: Fix SNTP servers option :yamlpr:`237` (cherry-picked)
|
||||
- yaml: Fix SNTP servers option :yamlpr:`237` (cherry-picked)
|
||||
- lib: Optimize Code Paths A Bit :libpr:`284`
|
||||
- lib: Fix crashing when logger not being used :libpr:`285` (cherry-picked)
|
||||
- lib: Fix crashing when logger not being used :libpr:`285` (cherry-picked)
|
||||
- lib: Fix template cover spamming logs :libpr:`287` (cherry-picked)
|
||||
- lib: Fix template cover spamming logs :libpr:`287` (cherry-picked)
|
||||
- lib: Improve ESP32 BLE tracker stability :libpr:`289` (cherry-picked)
|
||||
- lib: Improve ESP32 BLE tracker stability :libpr:`289` (cherry-picked)
|
||||
- yaml: Improve one_of validator :yamlpr:`240`
|
||||
- yaml: Add Logo and Icon to HassIO add-on :yamlpr:`241`
|
||||
- lib: Fix sensor filters using C++ undefined behavior :libpr:`293` (cherry-picked)
|
||||
- lib: Fix sensor filters using C++ undefined behavior :libpr:`293` (cherry-picked)
|
||||
- lib: Fix PMSX003 :libpr:`300` (cherry-picked)
|
||||
- lib: Fix PMSX003 :libpr:`300` (cherry-picked)
|
||||
- lib: Fix issue with filters introduced in 1.9.2 :libpr:`296` (cherry-picked)
|
||||
- lib: Fix issue with filters introduced in 1.9.2 :libpr:`296` (cherry-picked)
|
||||
- lib: Fix BMP085 pressure value :libpr:`292` (cherry-picked)
|
||||
- lib: Fix BMP085 pressure value :libpr:`292` (cherry-picked)
|
||||
- yaml: CSE7766 update interval :yamlpr:`250` (cherry-picked)
|
||||
- yaml: CSE7766 update interval :yamlpr:`250` (cherry-picked)
|
||||
- docs: CSE7766 Update Interval :docspr:`91`
|
||||
- docs: add baud_rate; typo on sensor type :docspr:`90` by :ghuser:`drewp`
|
||||
- docs: Fix docs for LCD display strftime :docspr:`95`
|
||||
- lib: Make CSE7766 a polling sensor :libpr:`305`
|
||||
- lib: Supply clang-format file for contributors :libpr:`290`
|
||||
- yaml: Time SNTP validate server format :yamlpr:`254`
|
||||
- yaml: Fix GPIO input schema validator :yamlpr:`253`
|
||||
- lib: Implement custom sensor platform :libpr:`274`
|
||||
- lib: Only compile code stuff if necessary :libpr:`309`
|
||||
- yaml: [Huge] Util Refactor, Dashboard Improvements, Hass.io Auth API, Better Validation Errors, Conditions, Custom Platforms, Substitutions :yamlpr:`234`
|
||||
- docs: Fix copy paste error :docspr:`100` by :ghuser:`oscar-b`
|
||||
- lib: Fix large JSON payloads being cut off :libpr:`323` by :ghuser:`quazzie`
|
||||
- docs: Add Wikipedia link to tz database zones list :docspr:`105` by :ghuser:`apeeters`
|
||||
- docs: Add pins for Shelly 2 :docspr:`103` by :ghuser:`oscar-b`
|
||||
- lib: Native Esphomelib API :libpr:`322`
|
||||
- yaml: Add native ESPHome API :yamlpr:`265`
|
||||
- lib: Add support for MAX31855 sensor :libpr:`310` by :ghuser:`sherbang`
|
||||
- docs: Documentation for MAX31855 sensor :docspr:`97` by :ghuser:`sherbang`
|
||||
- lib: Fix typo in Output Switch :libpr:`307`
|
||||
- lib: Fix PCA9685 with many channels :libpr:`304`
|
||||
- docs: Fixed typo in Sonoff R2 Cover example :docspr:`112` by :ghuser:`voicevon`
|
||||
- lib: Dump native API Server config on boot :libpr:`338` by :ghuser:`voicevon`
|
||||
- lib: Split Automation headers from implementation :libpr:`349`
|
||||
- lib: Travis update :libpr:`350`
|
||||
- lib: Fix API Server logs :libpr:`347`
|
||||
- lib: WiFi Better logging for ESP8266 :libpr:`346`
|
||||
- lib: API Server Watchdog :libpr:`345`
|
||||
- lib: GPIO Switch Restore Mode :libpr:`344`
|
||||
- lib: Fix Remote Receiver Overflow for ESP8266 :libpr:`348`
|
||||
- yaml: Api fixes :yamlpr:`289`
|
||||
- yaml: Fix host network :yamlpr:`280`
|
||||
- yaml: Fix ESP8266 verbose logging :yamlpr:`291`
|
||||
- yaml: API Server Watchdog :yamlpr:`290`
|
||||
- lib: Implement Addressable Lights Base :libpr:`243`
|
||||
- yaml: Disable SPIFFS to save flash space :yamlpr:`288`
|
||||
- yaml: Fix MQTT message trigger :yamlpr:`282`
|
||||
- yaml: GPIO Switch Restore Mode :yamlpr:`287`
|
||||
- yaml: Addressable Lights :yamlpr:`294`
|
||||
- yaml: Toggle Auto-Update Check With Environment Variable :yamlpr:`292`
|
||||
- yaml: Make compatible with python 3 :yamlpr:`281`
|
||||
- docs: Fix copy/paste error in turn_off_action :docspr:`113` by :ghuser:`wutr`
|
||||
- yaml: GPIO Switch Fix restore_mode validator :yamlpr:`296` by :ghuser:`yottatsa`
|
||||
- yaml: Fixes for Python 3 Compatability :yamlpr:`297`
|
||||
- lib: Stop old template action when new one is started :libpr:`354`
|
||||
- lib: Add APDS-9960 support :libpr:`286`
|
||||
- lib: Change default update interval to 60 seconds :libpr:`356`
|
||||
- lib: ESP32 Ethernet support :libpr:`288`
|
||||
- lib: Add ULN2003 support :libpr:`301`
|
||||
- lib: Add clean discovery option to simplify transition to native API :libpr:`357`
|
||||
- yaml: Add clean MQTT discovery option for native API :yamlpr:`302`
|
||||
- yaml: Add APDS9960 Support :yamlpr:`300`
|
||||
- lib: Add neopixelbus component :libpr:`352`
|
||||
- yaml: Add neopixelbus component :yamlpr:`303`
|
||||
- yaml: Add support for MAX31855 sensor :yamlpr:`258` by :ghuser:`sherbang`
|
||||
- yaml: ULN2003 Support :yamlpr:`304`
|
||||
- yaml: Add ESP32 Ethernet Support :yamlpr:`301`
|
||||
- docs: total_daily_energy doesn't have pin option :docspr:`114` by :ghuser:`oscar-b`
|
||||
- docs: Getting started HassIO - USD device discovery :docspr:`110` by :ghuser:`DavidDeSloovere`
|
||||
- docs: Mismatch in example and text :docspr:`109` by :ghuser:`wellsi`
|
||||
- docs: BME280 environment cookbook entry :docspr:`107` by :ghuser:`Mynasru`
|
||||
- docs: Update getting_started_command_line.rst :docspr:`102` by :ghuser:`doskoi`
|
||||
- docs: Updated the multi click example code block :docspr:`92` by :ghuser:`cooljimy84`
|
||||
- docs: Add step to setting up devices :docspr:`101` by :ghuser:`magnusoverli`
|
||||
|
||||
Past Changelogs
|
||||
---------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
v1.9.0
|
||||
v1.8.0
|
||||
v1.7.0
|
||||
|
||||
.. disqus::
|
@ -1,285 +0,0 @@
|
||||
Using With Sonoff Basic
|
||||
=======================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for putting Sonoff basic devices into flash mode and installing esphomelib on them.
|
||||
:image: sonoff_basic.jpg
|
||||
|
||||
esphomeyaml can be used with Sonoff Basic. These devices are basically just
|
||||
an ESP8266 chip with a relay to control the connection, a small button on the
|
||||
front and a green LED light.
|
||||
|
||||
.. figure:: images/sonoff_basic-full.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Sonoff Basic
|
||||
|
||||
This guide will not guide you through setting up your Sonoff Basic step-by-step. It just provide
|
||||
a sample configuration. For detailed instructions, see :doc:`sonoff_s20`, as those devices are
|
||||
pretty similar.
|
||||
|
||||
.. note::
|
||||
|
||||
If you've previously installed Sonoff-Tasmota or ESPurna on your Sonoff Basic, you're in luck 😀
|
||||
esphomeyaml can generate a firmware binary which you can then upload via the
|
||||
web interface.
|
||||
|
||||
Sample configuration
|
||||
--------------------
|
||||
|
||||
The Sonoff Basic is based on the ``ESP8266`` platform and is a subtype of the ``esp01_1m`` board.
|
||||
With this information, you can also step through the esphomeyaml wizard (``esphomeyaml sonoff_basic.yaml wizard``)
|
||||
if you don't want to use the sample configuration file from below.
|
||||
|
||||
If you go through the wizard, please make sure you manually set ``board_flash_mode`` to ``dout``
|
||||
as seen below. The version of the uploader used by esphomeyaml should automatically detect that
|
||||
the Sonoff Basic uses the ``dout`` SPI flash chip mode. But, as some users of other firmwares have
|
||||
said that other flash modes can brick the device, it's always good to specify it explicitly.
|
||||
|
||||
Below you will find a table of all usable GPIO pins of the Sonoff Basic and a configuration file that
|
||||
exposes all of the basic functions.
|
||||
|
||||
.. table::
|
||||
:class: no-center
|
||||
|
||||
================================================== ==================================================
|
||||
``GPIO0`` Button (inverted)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO1`` ``RX`` pin (C1 Pin 2)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO3`` ``TX`` pin (C1 Pin 3)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO12`` Relay
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO13`` Green LED (inverted)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO14`` Optional Sensor (C1 Pin 5)
|
||||
================================================== ==================================================
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphomeyaml:
|
||||
name: <NAME_OF_NODE>
|
||||
platform: ESP8266
|
||||
board: esp01_1m
|
||||
board_flash_mode: dout
|
||||
|
||||
wifi:
|
||||
ssid: <YOUR_SSID>
|
||||
password: <YOUR_PASSWORD>
|
||||
|
||||
mqtt:
|
||||
broker: <YOUR_MQTT_BROKER>
|
||||
username: <YOUR_USERNAME>
|
||||
password: <YOUR_PASSWORD>
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode: INPUT_PULLUP
|
||||
inverted: True
|
||||
name: "Sonoff Basic Button"
|
||||
on_press:
|
||||
- switch.toggle: relay
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff Basic Relay"
|
||||
pin: GPIO12
|
||||
id: relay
|
||||
|
||||
status_led:
|
||||
pin:
|
||||
number: GPIO13
|
||||
inverted: yes
|
||||
|
||||
Now run ``esphomeyaml sonoff_basic.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
|
||||
.. note::
|
||||
|
||||
After this step, you will be able to find the compiled binary under
|
||||
``<NAME_OF_NODE>/.pioenvs/<NAME_OF_NODE>/firmware.bin``. If you're having trouble with
|
||||
uploading, you can also try uploading this file directly with other tools.
|
||||
|
||||
Or run the upload command if your device is connected to the serial interface:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphomeyaml sonoff_basic.yaml run
|
||||
|
||||
More detailed breakdown
|
||||
-----------------------
|
||||
|
||||
1. Programming
|
||||
**************
|
||||
|
||||
Ensure you have soldered on the additional header pins to the PCB and connect your USB FTDI programmer.
|
||||
See https://randomnerdtutorials.com/how-to-flash-a-custom-firmware-to-sonoff/ for more details on the pinout and FTDI.
|
||||
|
||||
1.1. Put Sonoff into programming mode.
|
||||
**************************************
|
||||
|
||||
* Press and hold the toggle pin (long black pin next to LED and custom soldered pins).
|
||||
* Supply USB power to Sonoff via FTDI (e.g. plug in USB to the FTDI, or use a power switch as explained in link above).
|
||||
* Keep holding the toggle pin for approx 3-5 seconds now you should be ready to program. If you get a message unable to communicate when trying flash, check your TX/RX pin or retry entering boot mode again.
|
||||
|
||||
Quick notes:
|
||||
|
||||
* 3.3V setting on FTDI, 5V will cause damage.
|
||||
* Ensure the connections on the PCB starts at the closed to the toggle pin, it uses 4 pins, but 5 pins are soldered on.
|
||||
* TX and RX should be swapped - RX on Sonoff goes to TX on FTDI.
|
||||
|
||||
|
||||
1.2. Upload the firmware
|
||||
************************
|
||||
|
||||
Run this command from the same directory where your <my-awesome>.yaml file is located
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphomeyaml <my-awesome>.yaml run
|
||||
|
||||
Or if you're using the dashboard, just click the "UPLOAD" button.
|
||||
|
||||
You should get an output starting like this
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
INFO Reading configuration...
|
||||
INFO Detected timezone 'SAST' with UTC offset 2
|
||||
INFO Generating C++ source...
|
||||
INFO Compiling app...
|
||||
INFO Running: platformio run -d fishpond
|
||||
********************************************************************************************************
|
||||
Obsolete PIO Core v3.6.3 is used (previous was 3.6.4b1)
|
||||
Please remove multiple PIO Cores from a system:
|
||||
https://docs.platformio.org/page/faq.html#multiple-pio-cores-in-a-system
|
||||
...
|
||||
lots of compile stuff
|
||||
...
|
||||
Memory Usage -> http://bit.ly/pio-memory-usage
|
||||
DATA: [====== ] 55.6% (used 45512 bytes from 81920 bytes)
|
||||
PROGRAM: [==== ] 38.1% (used 390576 bytes from 1023984 bytes)
|
||||
===================================== [SUCCESS] Took 4.70 seconds =====================================
|
||||
INFO Successfully compiled program.
|
||||
Found multiple options, please choose one:
|
||||
[1] /dev/ttyUSB0 (FT232R USB UART)
|
||||
[2] Over The Air (fishpond.device)
|
||||
(number): 1
|
||||
INFO Running: esptool.py --before default_reset --after hard_reset --chip esp8266 --port /dev/ttyUSB0 write_flash 0x0 fishpond/.pioenvs/fishpond/firmware.bin
|
||||
esptool.py v2.6
|
||||
Serial port /dev/ttyUSB0
|
||||
Connecting....
|
||||
Chip is ESP8266EX
|
||||
Features: WiFi
|
||||
MAC: xx:xx:xx:xx:xx:xx
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Configuring flash size...
|
||||
Auto-detected Flash size: 1MB
|
||||
Compressed 394720 bytes to 267991...
|
||||
Wrote 394720 bytes (267991 compressed) at 0x00000000 in 23.8 seconds (effective 132.7 kbit/s)...
|
||||
Hash of data verified.
|
||||
|
||||
Leaving...
|
||||
Hard resetting via RTS pin...
|
||||
INFO Successfully uploaded program.
|
||||
INFO Starting log output from /dev/ttyUSB0 with baud rate 115200
|
||||
|
||||
1.3. And then nothing will happen
|
||||
*********************************
|
||||
|
||||
Once you have flashed the device, nothing will happen. You need to power cycle the device. You will notice the LED will start to flash and then becomes solid once connected to the WiFi network.
|
||||
|
||||
You can follow the logs produced by the running module by running the command
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphomeyaml <my-awesome>.yaml logs
|
||||
|
||||
Your output will possibly look like this
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
INFO Reading configuration...
|
||||
INFO Detected timezone 'SAST' with UTC offset 2
|
||||
INFO Starting log output from fishpond.device using esphomelib API
|
||||
INFO Connecting to fishpond.device:6053 (192.168.13.15)
|
||||
INFO Successfully connected to fishpond.device
|
||||
[11:13:27][D][time.homeassistant:029]: Synchronized time: Wed Jan 16 11:13:27 2019
|
||||
[11:13:27][I][application:097]: You're running esphomelib v1.10.1 compiled on Jan 16 2019, 08:12:59
|
||||
[11:13:27][C][status_led:023]: Status LED:
|
||||
[11:13:27][C][status_led:024]: Pin: GPIO13 (Mode: OUTPUT)
|
||||
[11:13:27][C][wifi:341]: WiFi:
|
||||
[11:13:27][C][wifi:240]: SSID: 'some-ssid'
|
||||
[11:13:27][C][wifi:241]: IP Address: 192.168.13.15
|
||||
[11:13:27][C][wifi:243]: BSSID: xx:xx:xx:xx:xx:xx
|
||||
[11:13:27][C][wifi:245]: Hostname: 'fishpond'
|
||||
[11:13:27][C][wifi:250]: Signal strength: -91 dB ▂▄▆█
|
||||
[11:13:27][C][wifi:251]: Channel: 1
|
||||
[11:13:27][C][wifi:252]: Subnet: 255.255.255.0
|
||||
[11:13:27][C][wifi:253]: Gateway: 192.168.13.1
|
||||
[11:13:27][C][wifi:254]: DNS1: 192.168.13.1
|
||||
[11:13:27][C][wifi:255]: DNS2: 0.0.0.0
|
||||
[11:13:27][C][binary_sensor.status:046]: Status Binary Sensor 'esp_fishpond_system_status'
|
||||
[11:13:27][C][binary_sensor.status:046]: Device Class: 'connectivity'
|
||||
[11:13:28][C][switch.gpio:049]: GPIO Switch 'esp_fishpond_gpio12'
|
||||
[11:13:28][C][switch.gpio:050]: Pin: GPIO12 (Mode: OUTPUT)
|
||||
[11:13:28][C][switch.gpio:066]: Restore Mode: Restore (Default to OFF)
|
||||
[11:13:28][C][binary_sensor.gpio:023]: GPIO Binary Sensor 'esp_fishpond_gpio0'
|
||||
[11:13:28][C][binary_sensor.gpio:024]: Pin: GPIO0 (Mode: INPUT, INVERTED)
|
||||
[11:13:28][C][binary_sensor.gpio:023]: GPIO Binary Sensor 'esp_fishpond_gpio14'
|
||||
[11:13:28][C][binary_sensor.gpio:024]: Pin: GPIO14 (Mode: INPUT_PULLUP)
|
||||
[11:13:28][C][output.esp8266_pwm:028]: ESP8266 PWM:
|
||||
[11:13:28][C][output.esp8266_pwm:029]: Pin: GPIO13 (Mode: OUTPUT)
|
||||
[11:13:28][C][output.esp8266_pwm:030]: Frequency: 1000.0 Hz
|
||||
[11:13:28][C][logger:099]: Logger:
|
||||
[11:13:28][C][logger:100]: Level: DEBUG
|
||||
[11:13:28][C][logger:101]: Log Baud Rate: 115200
|
||||
[11:13:28][C][light.state:266]: Light 'esp_fishpond_gpio13'
|
||||
[11:13:28][C][light.state:268]: Default Transition Length: 1000 ms
|
||||
[11:13:28][C][light.state:269]: Gamma Correct: 2.80
|
||||
[11:13:28][C][switch.restart:034]: Restart Switch 'esp_fishpond_system_restart'
|
||||
[11:13:28][C][switch.restart:034]: Icon: 'mdi:restart'
|
||||
[11:13:28][C][time.homeassistant:032]: Home Assistant Time:
|
||||
[11:13:28][C][time.homeassistant:033]: Timezone: 'SAST-2'
|
||||
[11:13:28][C][sensor.wifi_signal:042]: WiFi Signal 'esp_fishpond_system_wifi_signal'
|
||||
[11:13:28][C][sensor.wifi_signal:042]: Unit of Measurement: 'dB'
|
||||
[11:13:28](Message skipped because it was too big to fit in TCP buffer - This is only cosmetic)
|
||||
[11:13:28](Message skipped because it was too big to fit in TCP buffer - This is only cosmetic)
|
||||
[11:13:28][C][api:072]: API Server:
|
||||
[11:13:28][C][api:073]: Address: 192.168.13.15:6053
|
||||
[11:13:28][C][ota:129]: Over-The-Air Updates:
|
||||
[11:13:28][C][ota:130]: Address: 192.168.13.15:8266
|
||||
|
||||
|
||||
|
||||
1.4. Test now with OTA flashing
|
||||
*******************************
|
||||
|
||||
Before installing the Sonoff, do a final OTA test, and this time selecting the OTA option and NOT the USB option when reflashing.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphomeyaml <my-awesome>.yaml run
|
||||
|
||||
Once these actions succeeded you are pretty much in the clear and can be sure your device is ready.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :doc:`sonoff_s20`
|
||||
- `GPIO locations <https://github.com/arendst/Sonoff-Tasmota/wiki/GPIO-Locations>`__
|
||||
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/esphomeyaml/devices/sonoff_basic.rst>`__
|
||||
|
||||
.. disqus::
|
Loading…
Reference in New Issue
Block a user