Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2021-06-09 17:23:04 +12:00
commit 66cfa9ffaf
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
94 changed files with 407 additions and 281 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

View File

@ -5,6 +5,10 @@
text-align: center;
}
div.document {
margin-bottom: 50px;
}
img.component-image {
border: none;
vertical-align: middle;

View File

@ -1 +1 @@
1.19.0-dev
1.19.0-dev

View File

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

193
changelog/v1.18.0.rst Normal file
View File

@ -0,0 +1,193 @@
Changelog - Version 1.18.0 - 19th May 2021
===============================================
.. seo::
:description: Changelog for ESPHome version 1.18.0.
:image: /_static/changelog-1.18.0.png
:author: ESPHome
:author_twitter: @esphome_
.. imgtable::
:columns: 4
BME680 via BSEC, components/sensor/bme680_bsec, bme680.jpg
b-parasite, components/sensor/b_parasite, b_parasite.jpg
SGP40, components/sensor/sgp40, sgp40.jpg
SHT4X, components/sensor/sht4x, sht4x.jpg
TCA9548A I²C Multiplexer, components/tca9548a, tca9548a.jpg
Grow Fingerprint Reader, components/fingerprint_grow, fingerprint.svg
TOF10120, components/sensor/tof10120, tof10120.jpg
SM2135, components/output/sm2135, sm2135.svg
ESP32 BLE Client, components/ble_client, bluetooth.svg
BLE Sensor, components/sensor/ble_sensor, bluetooth.svg
External Components, components/external_components, external_components.svg
It feels like I was just writing the release notes for 1.17 not long ago, so here's to getting ESPHome going on a regular schedule.
Releases will be set for the 3rd Wednesday of each month, with a beta release starting 1 week earlier for those who would like to test
that and help make sure it is stable.
Apart from a few new sensors, we now have built in support for :doc:`/components/external_components`, check it out. Thanks :ghuser:`OttoWinter` and :ghuser:`glmnet`
Also now, an ESPHome device is able to connect to other BLE devices and become a :doc:`/components/ble_client`, reading sensors and controlling switches etc.
You can read basic sensor values using the :doc:`/components/sensor/ble_sensor` component or use the data displayed in the logs to build a new native component
that provides the sensors/switches/etc directly.
Jesse
New Integrations
----------------
- esphome: Add I2CMultiplexer in general and the TCA9548A in special :esphomepr:`1410` by :ghuser:`andreashergert1984` (new-integration)
- esphome: Add BME680 via BSEC integration :esphomepr:`1313` by :ghuser:`trvrnrth` (new-integration)
- esphome: Adds support for b-parasite soil moisture sensor :esphomepr:`1666` by :ghuser:`rbaron` (new-integration)
- esphome: Sgp40 :esphomepr:`1513` by :ghuser:`SenexCrenshaw` (new-integration)
- esphome: Add support for SHT4X :esphomepr:`1512` by :ghuser:`sjtrny` (new-integration)
- esphome: Add Grow Fingerprint Reader :esphomepr:`1356` by :ghuser:`loongyh` (new-integration)
- esphome: Support for TOF10120 distance sensor :esphomepr:`1375` by :ghuser:`wstrzalka` (new-integration)
- esphome: BLE client support on ESP32 :esphomepr:`1177` by :ghuser:`buxtronix` (new-integration)
- esphome: Implement external custom components installing from YAML :esphomepr:`1630` by :ghuser:`OttoWinter` (new-integration)
- esphome: Add sm2135 component :esphomepr:`1736` by :ghuser:`BoukeHaarsma23` (cherry-picked) (new-integration)
Breaking Changes
----------------
- esphome: Raise minimum python version to 3.7 :esphomepr:`1673` by :ghuser:`OttoWinter` (breaking-change)
- esphome: Change wifi signal strength unit to dBm :esphomepr:`1734` by :ghuser:`mbo18` (breaking-change)
- esphome: Use core constants for sample duration on bh1750 :esphomepr:`1764` by :ghuser:`yuvalabou` (breaking-change) (cherry-picked)
Beta Fixes
----------
- docs: Update allowed characters for node names :docspr:`1072` by :ghuser:`pkuehne` (cherry-picked)
- docs: Fix missed merge conflict :docspr:`1155` by :ghuser:`jesserockz` (cherry-picked)
- docs: Replaced set_password with new_password :docspr:`1157` by :ghuser:`PaulAntonDeen` (cherry-picked)
- esphome: Fix build issues for idf 4.2 (Support ESP32-S2) :esphomepr:`1433` by :ghuser:`misery` (cherry-picked)
- esphome: Upgrade the version of AsyncTCP-esphome to v1.2.2 :esphomepr:`1762` by :ghuser:`glmnet` (cherry-picked)
- esphome: Use core constants for sample duration on bh1750 :esphomepr:`1764` by :ghuser:`yuvalabou` (breaking-change) (cherry-picked)
- esphome: Add sm2135 component :esphomepr:`1736` by :ghuser:`BoukeHaarsma23` (cherry-picked) (new-integration)
- docs: Add sm2135 component :docspr:`1127` by :ghuser:`BoukeHaarsma23` (cherry-picked)
- docs: Some clarification added to external components. :docspr:`1165` by :ghuser:`mmakaay` (cherry-picked)
- esphome: Allow RC522 components to have multiple configurations :esphomepr:`1782` by :ghuser:`jesserockz` (cherry-picked)
All changes
-----------
- esphome: Add I2CMultiplexer in generel and the TCA9548A in special :esphomepr:`1410` by :ghuser:`andreashergert1984` (new-integration)
- docs: Add i2c multiplexer :docspr:`897` by :ghuser:`andreashergert1984`
- esphome: Add the display.is_displaying_page condition :esphomepr:`1646` by :ghuser:`numo68`
- docs: Add documentation for the display.is_displaying_page condition :docspr:`1079` by :ghuser:`numo68`
- esphome: Add BME680 via BSEC integration :esphomepr:`1313` by :ghuser:`trvrnrth` (new-integration)
- docs: Add BME680 BSEC docs :docspr:`793` by :ghuser:`trvrnrth`
- esphome: Fixed CustomComponentConstructor::get_component() :esphomepr:`1653` by :ghuser:`dataway`
- esphome: Bump pytest from 6.2.2 to 6.2.3 :esphomepr:`1663` by :ghuser:`dependabot[bot]`
- esphome: Bump protobuf from 3.15.6 to 3.15.7 :esphomepr:`1662` by :ghuser:`dependabot[bot]`
- esphome: Rewrite sun component calculations :esphomepr:`1661` by :ghuser:`OttoWinter`
- esphome: Raise minimum python version to 3.7 :esphomepr:`1673` by :ghuser:`OttoWinter` (breaking-change)
- esphome: Adds support for b-parasite soil moisture sensor :esphomepr:`1666` by :ghuser:`rbaron` (new-integration)
- docs: Adds docs for the b-parasite soil moisture sensor :docspr:`1086` by :ghuser:`rbaron`
- esphome: mqtt_client: Added MQTTClientComponent::unsubscribe() :esphomepr:`1672` by :ghuser:`dataway`
- esphome: Disallow _ in node name :esphomepr:`1632` by :ghuser:`pkuehne`
- esphome: Receive long MQTT payload :esphomepr:`1590` by :ghuser:`gaco79`
- esphome: Daylight Saving Time spelling fix :esphomepr:`1677` by :ghuser:`dashdrum`
- esphome: Support custom build_flags for bme680_bsec :esphomepr:`1678` by :ghuser:`SenexCrenshaw`
- esphome: Add Arduino ESP32 version mapping :esphomepr:`1679` by :ghuser:`OttoWinter`
- esphome: Automate building and publishing of esphome-lint docker image :esphomepr:`1680` by :ghuser:`OttoWinter`
- esphome: Sgp40 :esphomepr:`1513` by :ghuser:`SenexCrenshaw` (new-integration)
- docs: sgp40 :docspr:`985` by :ghuser:`SenexCrenshaw`
- esphome: Bump protobuf from 3.15.7 to 3.15.8 :esphomepr:`1682` by :ghuser:`dependabot[bot]`
- esphome: Implementing the remainder of GPS data for the GPS component. :esphomepr:`1676` by :ghuser:`coogle`
- docs: Updating docs for the gps component. :docspr:`1094` by :ghuser:`coogle`
- esphome: Bump AsyncTCP-esphome to 1.2.1. :esphomepr:`1693` by :ghuser:`mmakaay`
- esphome: Revert "Bump AsyncTCP-esphome to 1.2.1." :esphomepr:`1709` by :ghuser:`glmnet`
- esphome: Fix name_add_mac_suffix using _ instead of - :esphomepr:`1702` by :ghuser:`glmnet`
- docs: Update name_add_mac_suffix use dash :docspr:`1111` by :ghuser:`glmnet`
- esphome: Add monochromatic effects: Pulse, Random :esphomepr:`1616` by :ghuser:`ferbar`
- docs: Add 'pulse' effect doc :docspr:`1067` by :ghuser:`ferbar`
- esphome: Add support for SHT4X :esphomepr:`1512` by :ghuser:`sjtrny` (new-integration)
- docs: Add docs for SHT4X :docspr:`1002` by :ghuser:`sjtrny`
- esphome: Addition of forward and reverse active energy counters to ATM90E32 sensor component :esphomepr:`1271` by :ghuser:`elyorkhakimov`
- docs: Add Atm90e32 energy docs :docspr:`1120` by :ghuser:`jesserockz`
- esphome: Add Grow Fingerprint Reader :esphomepr:`1356` by :ghuser:`loongyh` (new-integration)
- docs: Add Grow fingerprint reader docs :docspr:`835` by :ghuser:`loongyh`
- esphome: Support for TOF10120 distance sensor :esphomepr:`1375` by :ghuser:`wstrzalka` (new-integration)
- docs: Documentation for TOF10120 support :docspr:`846` by :ghuser:`wstrzalka`
- esphome: Swap fan and swing fields for Fujitu ACs :esphomepr:`1635` by :ghuser:`alex-richards`
- esphome: BLE client support on ESP32 :esphomepr:`1177` by :ghuser:`buxtronix` (new-integration)
- docs: Ble client docs :docspr:`702` by :ghuser:`buxtronix`
- esphome: Update email addresses :esphomepr:`1733` by :ghuser:`jesserockz`
- esphome: Ble client fixes :esphomepr:`1739` by :ghuser:`buxtronix`
- esphome: Fix #1940: Implement speed_count in TuyaFan :esphomepr:`1654` by :ghuser:`0x0a11c0de`
- docs: Add speed_count to tuya fan :docspr:`1080` by :ghuser:`0x0a11c0de`
- docs: Fix mcp3008 reference :docspr:`1131` by :ghuser:`jesserockz`
- esphome: Add Hyperion Support :esphomepr:`1339` by :ghuser:`d-two`
- docs: Add note about hyperion classic udp port :docspr:`1135` by :ghuser:`jesserockz`
- esphome: Call ``Stepper::should_step_`` every loop iteration :esphomepr:`1373` by :ghuser:`akonradi`
- esphome: Add support for controlling Tuya fan direction :esphomepr:`1409` by :ghuser:`rmounce`
- docs: Document Tuya fan direction datapoint :docspr:`877` by :ghuser:`rmounce`
- esphome: Change wifi signal strength unit to dBm :esphomepr:`1734` by :ghuser:`mbo18` (breaking-change)
- docs: Change wifi signal strength unit to dBm :docspr:`1125` by :ghuser:`mbo18`
- esphome: Added an option to disable mDNS :esphomepr:`1716` by :ghuser:`dnetguru`
- docs: Added docs for enable_mdns option :docspr:`1118` by :ghuser:`dnetguru`
- docs: add External components docs :docspr:`1107` by :ghuser:`glmnet`
- esphome: Implement external custom components installing from YAML :esphomepr:`1630` by :ghuser:`OttoWinter` (new-integration)
- esphome: Update copyright year :esphomepr:`1760` by :ghuser:`bonanitech`
- docs: Fixed datasheet link for RC522 :docspr:`1144` by :ghuser:`0nikola1`
- docs: Added receive for Fujitsu ACs :docspr:`1037` by :ghuser:`alex-richards`
- docs: Update allowed characters for node names :docspr:`1072` by :ghuser:`pkuehne` (cherry-picked)
- docs: Update docs: Add references to alternative ICs to HLW8012 and CSE7766 :docspr:`902` by :ghuser:`kubik369`
- docs: Update pulse_counter.rst :docspr:`1089` by :ghuser:`Chupaka`
- docs: Remove deprecated board_flash_mode from configuration example :docspr:`1149` by :ghuser:`frenck`
- docs: Update deep_sleep.rst :docspr:`1152` by :ghuser:`theOzzieRat`
- docs: Utalize pip3 for commands :docspr:`1143` by :ghuser:`rradar`
- docs: FAQ page: Converting from "I" to "we" wording :docspr:`1103` by :ghuser:`spacegaier`
- docs: thermostat min/max temperature clarification :docspr:`1057` by :ghuser:`larsonmpdx`
- docs: Added compatibility notes :docspr:`1033` by :ghuser:`Dezorian`
- docs: Specify format for BSSID entries. :docspr:`1046` by :ghuser:`marcteale`
- docs: add font to usage example :docspr:`1050` by :ghuser:`azrael783`
- docs: Fix missed merge conflict :docspr:`1155` by :ghuser:`jesserockz` (cherry-picked)
- docs: Sample codeblock has incorrect variables :docspr:`1156` by :ghuser:`jcallaghan`
- docs: Replaced set_password with new_password :docspr:`1157` by :ghuser:`PaulAntonDeen` (cherry-picked)
- docs: pulse counter: Show how calculations are made :docspr:`861` by :ghuser:`fredrike`
- esphome: Upgrade the version of AsyncTCP-esphome to v1.2.2 :esphomepr:`1762` by :ghuser:`glmnet` (cherry-picked)
- esphome: Fix build issues for idf 4.2 (Support ESP32-S2) :esphomepr:`1433` by :ghuser:`misery` (cherry-picked)
- esphome: Use core constants for sample duration on bh1750 :esphomepr:`1764` by :ghuser:`yuvalabou` (breaking-change) (cherry-picked)
- docs: Fix docs for inkplate :docspr:`1158` by :ghuser:`NobodysNightmare`
- docs: Fixed wrong link in i2c_id :docspr:`1163` by :ghuser:`petrepa`
- docs: Explain where to upload .ttf font files :docspr:`1133` by :ghuser:`TheGroundZero`
- esphome: Add sm2135 component :esphomepr:`1736` by :ghuser:`BoukeHaarsma23` (cherry-picked) (new-integration)
- docs: Add sm2135 component :docspr:`1127` by :ghuser:`BoukeHaarsma23` (cherry-picked)
- docs: Some clarification added to external components. :docspr:`1165` by :ghuser:`mmakaay` (cherry-picked)
- docs: Add new disconnect reasons to the FAQ. :docspr:`1129` by :ghuser:`mmakaay`
- esphome: Allow RC522 components to have multiple configurations :esphomepr:`1782` by :ghuser:`jesserockz` (cherry-picked)
- docs: Update max frequency :docspr:`1172` by :ghuser:`bookcasey`
- docs: Update web-api id component :docspr:`1168` by :ghuser:`meijerwynand`
- docs: Fix docker build failure :docspr:`1179` by :ghuser:`martgras`
- docs: Update ifan02 example with new fan speed options :docspr:`1177` by :ghuser:`workingmanrob`
- docs: Document missing use_address in Ethernet component :docspr:`1176` by :ghuser:`xsnoopy`
- docs: Lambda over multiple lines. added :docspr:`1173` by :ghuser:`klenaers`
- docs: changed LG example to existing, working code :docspr:`1171` by :ghuser:`qqgg231`
- docs: GPIO Switch: simplify Momentary Switch example :docspr:`1121` by :ghuser:`ianchi`
- docs: Added warning: GPIOs are LIVE in power measurement devices :docspr:`583` by :ghuser:`CarlosGS`
Past Changelogs
---------------
.. toctree::
:maxdepth: 1
v1.17.0
v1.16.0
v1.15.0
v1.14.0
v1.13.0
v1.12.0
v1.11.0
v1.10.0
v1.9.0
v1.8.0
v1.7.0

View File

@ -72,7 +72,7 @@ This automation is triggered when the client connects to the BLE device.
on_connect:
then:
- lambda: |-
ESP_LOGD("ble_client_lambda", "Connected to BLE device");
ESP_LOGD("ble_client_lambda", "Connected to BLE device");
.. _ble_client-on_disconnect:
@ -89,7 +89,7 @@ This automation is triggered when the client disconnects from a BLE device.
on_disconnect:
then:
- lambda: |-
ESP_LOGD("ble_client_lambda", "Disconnected from BLE device");
ESP_LOGD("ble_client_lambda", "Disconnected from BLE device");
BLE Overview
------------

View File

@ -99,8 +99,8 @@ Plays a track.
on_...:
then:
- dfplayer.play:
file: 23
loop: false
file: 23
loop: false
# Shorthand
- dfplayer.play: 23

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

After

Width:  |  Height:  |  Size: 202 KiB

View File

@ -167,8 +167,9 @@ Configuration variables:
.. note::
To use fonts you will need to have the python ``pillow`` package installed, as ESPHome uses that package
to translate the TrueType files into an internal format. If you're running this as a Hass.io add-on or with
the official ESPHome docker image, it should already be installed. Otherwise you need to install it using
to translate the TrueType files into an internal format. If you're running this as a Home Assistant
add-on or with the official ESPHome docker image, it should already be installed. Otherwise you need
to install it using
``pip install pillow``.
@ -387,7 +388,7 @@ Configuration variables:
.. note::
To use images you will need to have the python ``pillow`` package installed.
If you're running this as a Hass.io add-on or with the official ESPHome docker image, it should already be
If you're running this as a Home Assistant add-on or with the official ESPHome docker image, it should already be
installed. Otherwise you need to install it using ``pip install pillow``.
And then later in code:

View File

@ -54,7 +54,7 @@ Rendering Lambda
With Nextion displays, a dedicated chip on the display itself does the whole rendering. ESPHome can only
send *instructions* to the display to tell it *how* to render something and *what* to render.
First, you need to use the `Nextion Editor <https://nextion.itead.cc/resources/download/nextion-editor/>`__ to
First, you need to use the `Nextion Editor <https://nextion.tech/nextion-editor/>`__ to
create a display file and insert it using the SD card slot. Then, in the rendering ``lambda``, you have 3 main methods
you can call to populate data on the display:

View File

@ -47,7 +47,7 @@ VCC to 3.3V and GND to GND.
Backlight
*********
To use a backlight LIGHT pin needs to be connected to ground. If connected to GPIO pin it can be controlled from EPSHome. See :doc:`/components/light/monochromatic`.
To use a backlight LIGHT pin needs to be connected to ground. If connected to GPIO pin it can be controlled from ESPHome. See :doc:`/components/light/monochromatic`.
Configuration variables:

View File

@ -25,7 +25,7 @@ Configuration variables:
------------------------
- **name** (**Required**, string): This is the name of the node. It
should always be unique in your ESPhome network. May only contain lowercase
should always be unique in your ESPHome network. May only contain lowercase
characters, digits and hyphens. See :ref:`esphome-changing_node_name`.
- **platform** (**Required**, string): The platform your board is on,
either ``ESP32`` or ``ESP8266``. See :ref:`esphome-arduino_version`.
@ -173,7 +173,7 @@ is already set up. You can however change this using the ``priority`` parameter.
Configuration variables:
- **priority** (*Optional*, float): The priority to execute your custom initialization code. A higher value
means a high priority and thus also your code being executed earlier. Please note this is an ESPhome-internal
means a high priority and thus also your code being executed earlier. Please note this is an ESPHome-internal
value and any change will not be marked as a breaking change. Defaults to ``-10``. Priorities (you can use any value between them too):
- ``800.0``: This is where all hardware initialization of vital components is executed. For example setting switches

View File

@ -96,6 +96,18 @@ Configuration for Olimex ESP32-POE
phy_addr: 0
power_pin: GPIO12
Configuration for Olimex ESP32-EVB
----------------------------------
.. code-block:: yaml
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 0
Configuration for LILYGO TTGO T-Internet-POE ESP32-WROOM LAN8270A Chip
----------------------------------------------------------------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -83,7 +83,7 @@ Turns the fan with the given ID off when executed.
``fan.turn_on`` Action
----------------------
Turns the fan with the given ID off when executed.
Turns the fan with the given ID on when executed.
.. code-block:: yaml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -385,11 +385,11 @@ This effect makes a pulsating light. The period can be defined by ``update_inter
effects:
- pulse:
- pulse:
name: "Fast Puse"
name: "Fast Pulse"
transition_length: 0.5s
update_interval: 0.5s
- pulse:
name: "Slow Puse"
name: "Slow Pulse"
# transition_length: 1s # defaults to 1s
update_interval: 2s

View File

@ -106,7 +106,11 @@ Configuration options:
``rf_bridge.send_raw`` Action
-----------------------------
Send a raw RF code using this action in automations.
Send a raw command to the onboard EFM8BB1 chip.
You can see a list of available commands and format in the `Portisch Wiki <https://github.com/Portisch/RF-Bridge-EFM8BB1/wiki/Commands>`__
This can be used to send raw RF codes in automation's, mainly for protocols that are not supported.
If you have *Portisch* firmware installed, these raw codes can be obtained with the help of :ref:`rf_bridge-start_bucket_sniffing_action`
.. code-block:: yaml
@ -267,7 +271,71 @@ Configuration options:
id(rf_bridge).stop_advanced_sniffing();
.. _rf_bridge-start_bucket_sniffing_action:
``rf_bridge.start_bucket_sniffing`` Action
------------------------------------------
Tell the RF Bridge to dump raw sniffing data. Useful for getting codes for unsupported protocols.
The raw data will be available in the log and can later be used with :ref:`rf_bridge-send_raw_action` action.
.. note::
A conversion from *B1* (received) raw format to *B0* (send) raw command format should be applied.
For this, you can use the tool `BitBucket Converter <https://bbconv.hrbl.pl/>`__
.. note::
There seems to be an overflow problem in Portisch firmware and after a short while, the bucket sniffing stops.
You should re-call the action to reset and start sniffing again.
.. code-block:: yaml
on_...:
then:
- rf_bridge.start_bucket_sniffing
Configuration options:
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the RF Bridge if you have multiple components.
.. note::
This action can also be written in :ref:`lambdas <config-lambda>`:
.. code-block:: cpp
id(rf_bridge).start_bucket_sniffing();
.. _rf_bridge-beep_action:
``rf_bridge.beep`` Action
-------------------------------------------
Activate the internal buzzer to make a beep.
.. code-block:: yaml
on_...:
then:
- rf_bridge.beep:
duration: 100
Configuration options:
- **duration** (**Required**, string, :ref:`templatable <config-templatable>`): beep duration in milliseconds.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the RF Bridge if you have multiple components.
.. note::
This action can also be written in :ref:`lambdas <config-lambda>`:
.. code-block:: cpp
id(rf_bridge).beep(100);
Getting started with Home Assistant
-----------------------------------

View File

@ -51,6 +51,8 @@ Configuration variables:
filters:
- multiply: 3.3
.. _adc-esp32_attenuation:
ESP32 Attenuation
@ -88,6 +90,13 @@ To measure the VCC voltage, set ``pin:`` to ``VCC`` and make sure nothing is con
pin: VCC
name: "VCC Voltage"
Multiple ADC Sensors
---------------------
You can only use as many ADC sensors as your device can support. The ESP8266 only has one ADC and can only handle one sensor at a time. For example, on the ESP8266, you can measure the value of an analog pin (A0 on ESP8266) or VCC (see below) but NOT both simultaneously. Using both at the same time will result in incorrect sensor values.
See Also
--------

View File

@ -19,7 +19,7 @@ Component/Hub
The AS3935 can be configured to use either the SPI **or** I²C protocol for data communication.
First choose which communication method you want to use for the sensor, set the SI pin for the appropriate
level and set up the ESPhome integration for the chosen communication method.
level and set up the ESPHome integration for the chosen communication method.
Module Pins
-----------

View File

@ -9,7 +9,7 @@ b-parasite
`b-parasite <https://github.com/rbaron/b-parasite>`__ is an open source soil moisture and ambient temperature/humidity sensor.
The ``b_parasite`` sensor platform tracks b-parasite's Bluetooth Low Energy (BLE) advertisement packets. These packets contains soil moisture, air temperature/humidity and baterry voltage data.
The ``b_parasite`` sensor platform tracks b-parasite's Bluetooth Low Energy (BLE) advertisement packets. These packets contains soil moisture, air temperature/humidity and battery voltage data.
.. figure:: images/b_parasite.jpg
:align: center

View File

@ -34,7 +34,7 @@ With Home Assistant 2021.6 or newer, entity state attributes can also be importe
Albeit you might not plan to __export__ states from the node and you do not need an entity of the node
in Home Assistant, this component still requires you to register the node under Home Assistant. See:
:doc:`Getting started with Hassio </guides/getting_started_hassio>`
:doc:`Getting started with Home Assistant </guides/getting_started_hassio>`
Configuration variables:
------------------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 KiB

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -5,7 +5,7 @@ SCD30 CO₂, Temperature and Relative Humidity Sensor
:description: Instructions for setting up SCD30 CO₂ Temperature and Relative Humidity Sensor
:image: scd30.jpg
The ``scd30`` sensor platform allows you to use your Sensiron SCD30 CO₂
The ``scd30`` sensor platform allows you to use your Sensirion SCD30 CO₂
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9.5_CO2/Sensirion_CO2_Sensors_SCD30_Datasheet.pdf>`__) sensors with ESPHome.
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
@ -31,7 +31,6 @@ The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for thi
address: 0x61
update_interval: 5s
Configuration variables:
------------------------
@ -47,7 +46,6 @@ Configuration variables:
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
- All other options from :ref:`Sensor <config-sensor>`.
- **humidity** (*Optional*): The information for the Humidity sensor.
- **name** (**Required**, string): The name for the humidity sensor.
@ -76,8 +74,6 @@ Configuration variables:
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
sensor. Defaults to ``60s``.
See Also
--------

View File

@ -5,7 +5,7 @@ SGP30 CO₂ and Volatile Organic Compound Sensor
:description: Instructions for setting up SGP30 CO₂eq and Volatile Organic Compound sensor
:image: sgp30.png
The ``sgp30`` sensor platform allows you to use your Sensiron SGP30 multi-pixel gas
The ``sgp30`` sensor platform allows you to use your Sensirion SGP30 multi-pixel gas
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9_Gas_Sensors/Datasheets/Sensirion_Gas_Sensors_SGP30_Datasheet.pdf>`__) sensors or the SVM30 breakout-boards (`product page <https://www.sensirion.com/en/environmental-sensors/gas-sensors/multi-gas-humidity-temperature-module-svm30/>`__) with ESPHome.
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
@ -27,7 +27,6 @@ The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for thi
address: 0x58
update_interval: 5s
Configuration variables:
------------------------

View File

@ -5,7 +5,7 @@ SGP40 Volatile Organic Compound Sensor
:description: Instructions for setting up SGP40 Volatile Organic Compound sensor
:image: sgp40.jpg
The ``sgp40`` sensor platform allows you to use your Sensiron SGP40 VOC sensor
The ``sgp40`` sensor platform allows you to use your Sensirion SGP40 VOC sensor
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9_Gas_Sensors/Sensirion_Gas_Sensors_SGP40_Datasheet.pdf>`__) with ESPHome.
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
@ -20,14 +20,13 @@ The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for thi
- platform: sgp40
name: "Workshop VOC"
Configuration variables:
------------------------
- **name** (**Required**, string): The name for the CO₂eq sensor.
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``
- **store_baseline** (*Optional*, boolean ): Stores and retrieves the baseline infortmation for quicker startups. Defaults to ``True``
- **store_baseline** (*Optional*, boolean ): Stores and retrieves the baseline information for quicker startups. Defaults to ``True``
- **compensation** (*Optional*): The block containing sensors used for compensation. If not set defaults will be used.

View File

@ -5,7 +5,7 @@ SHT3X-D Temperature+Humidity Sensor
:description: Instructions for setting up SHT31-D temperature and humidity sensors
:image: sht3xd.jpg
The ``sht3xd`` sensor platform Temperature+Humidity sensor allows you to use your Sensiron SHT31-D
The ``sht3xd`` sensor platform Temperature+Humidity sensor allows you to use your Sensirion SHT31-D
(`datasheet <https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf>`__,
`Adafruit`_ ) sensors with
ESPHome. The :ref:`I²C Bus <i2c>` is

View File

@ -5,7 +5,7 @@ SHTCx Temperature+Humidity Sensors
:description: Instructions for setting up SHTC1 and SHTC3 temperature and humidity sensors
:image: shtc3.jpg
The ``shtcx`` sensor platform Temperature+Humidity sensor allows you to use your Sensiron SHTC1
The ``shtcx`` sensor platform Temperature+Humidity sensor allows you to use your Sensirion SHTC1
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/2_Humidity_Sensors/Datasheets/Sensirion_Humidity_Sensors_SHTC1_Datasheet.pdf>`__,
`Sensirion STHC1 <https://www.sensirion.com/en/environmental-sensors/humidity-sensors/digital-humidity-sensor-for-consumer-electronics-and-iot/>`__) and
the newer SHTC3

View File

@ -5,8 +5,8 @@ SPS30 Particulate Matter Sensor
:description: Instructions for setting up SPS30 PM1.0, PM2.5, PM4, PM10 Particulate Matter sensors
:image: sps30.jpg
The ``sps30`` sensor platform allows you to use your Sensiron SPS30
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/0_Datasheets/Particulate_Matter/Sensirion_PM_Sensors_SPS30_Datasheet.pdf>`__) sensors with ESPHome.
The ``sps30`` sensor platform allows you to use your Sensirion SPS30
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9.6_Particulate_Matter/Datasheets/Sensirion_PM_Sensors_Datasheet_SPS30.pdf>`__) sensors with ESPHome.
The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this sensor to work.
This sensor supports both UART and I²C communication. However, at the moment only I²C communication is implemented.
@ -51,7 +51,6 @@ This sensor supports both UART and I²C communication. However, at the moment on
address: 0x69
update_interval: 10s
Configuration variables:
------------------------

View File

@ -5,7 +5,7 @@ STS3X Temperature Sensor
:description: Instructions for setting up STS3x-DIS temperature sensors
:image: sts3x.jpg
The ``sts3x`` sensor platform Temperature sensor allows you to use your Sensiron STS30-DIS, STS31-DIS or STS35-DIS
The ``sts3x`` sensor platform Temperature sensor allows you to use your Sensirion STS30-DIS, STS31-DIS or STS35-DIS
(`datasheet <https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/3_Temperature_Sensors/Sensirion_Temperature_Sensors_Table_Overview.pdf>`__,
`Sensirion STS3x <https://www.sensirion.com/sts3x/>`__) sensors with
ESPHome. The :ref:`I²C Bus <i2c>` is

View File

@ -38,7 +38,7 @@ Configuration variables:
A4988 Component
---------------
Put this code into the configuration file on ESPhome for this device.
Put this code into the configuration file on ESPHome for this device.
.. code-block:: yaml

View File

@ -87,7 +87,7 @@ firmware can be uploaded allowing you to control the smart plugs via Home Assist
via SSH and ensure your connection type is set to **SFTP**
#. Browse to ``/root/tuya-convert/files``.
#. Upload your compiled ``firmware.bin`` file to this directory. For command line based installs you can access the file under
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin`` alternatively Hass.io users can download the file directly from the web ui.
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin`` alternatively Home Assistant add-on users can download the file directly from the web ui.
2.7 Use tuya-convert to install ESPHome Firmware
************************************************

View File

@ -2,7 +2,7 @@ Time & Temperature on OLED Display
==================================
.. seo::
:description: Instructions for setting up a display in ESPhome to show sensor values from Home Assistant
:description: Instructions for setting up a display in ESPHome to show sensor values from Home Assistant
:image: display_time_temp_oled_1.jpg
:keywords: Display

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -3,11 +3,11 @@ ESP32 Water Leak Detector (with notification)
=============================================
.. seo::
:description: Water leak detector with ESPhome on an M5StickC ESP32
:description: Water leak detector with ESPHome on an M5StickC ESP32
:image: images/leak-detector-m5stickC_dry.jpg
:keywords: Leak Detector M5StickC M5Stack M5Atom
Using the ESP32's capacitive touch GPIOs, it's relatively easy to build a water leak detector using ESPhome. M5StickC was chosen as a platform due to the integrated Grove connector for clean connections and the fact it's well housed. The built-in display is a bonus, but not strictly necessary. Notifications are performed via HomeAssistant's 'alert' and 'notify' facilities, which send via Pushover to iOS & Android.
Using the ESP32's capacitive touch GPIOs, it's relatively easy to build a water leak detector using ESPHome. M5StickC was chosen as a platform due to the integrated Grove connector for clean connections and the fact it's well housed. The built-in display is a bonus, but not strictly necessary. Notifications are performed via HomeAssistant's 'alert' and 'notify' facilities, which send via Pushover to iOS & Android.
.. figure:: images/leak-detector-m5stickC_LeakDetected.gif
:align: center
@ -67,14 +67,14 @@ Assembled Components
Display Font
============
You'll need to place the `OpenSans-Regular <https://fonts.google.com/specimen/Open+Sans>`__ font (or another of your choosing) alongside your ESPhome yaml file. See - :doc:`/components/display/index`.
You'll need to place the `OpenSans-Regular <https://fonts.google.com/specimen/Open+Sans>`__ font (or another of your choosing) alongside your ESPHome yaml file. See - :doc:`/components/display/index`.
Flashing
========
I initially had trouble flashing the M5StickC; this is the procedure that I've found to work well with these devices.
You must provide the ESP32 bootloader during the initial flash over USB. Compile your ESPhome binary, and flash it along with the required bootloader (bootloader_dio_80m.bin), `available here <https://github.com/espressif/arduino-esp32/tree/master/tools/sdk/bin>`__, from the commandline (example under macos):
You must provide the ESP32 bootloader during the initial flash over USB. Compile your ESPHome binary, and flash it along with the required bootloader (bootloader_dio_80m.bin), `available here <https://github.com/espressif/arduino-esp32/tree/master/tools/sdk/bin>`__, from the commandline (example under macos):
``cd /Applications/ESPHome-Flasher-1.2.0-macOS.app/Contents/MacOS``
@ -115,7 +115,7 @@ Not shown: Probe is placed on the floor in the corner, out of the way, in the lo
------------
ESPhome configuration
ESPHome configuration
=====================
.. code-block:: yaml

View File

@ -92,7 +92,7 @@ firmware can be uploaded allowing you to control the bulbs via Home Assistant.
via SSH and ensure your connection type is set to **SFTP**
#. Browse to ``/root/tuya-convert/files``.
#. Upload your compiled ``firmware.bin`` file to this directory. For command line based installs you can access the file under
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin`` alternatively Hass.io users can download the file directly from the web ui.
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin`` alternatively Home Assistant add-on users can download the file directly from the web ui.
2.7 Use tuya-convert to install ESPHome Firmware
************************************************

View File

@ -87,7 +87,7 @@ firmware can be uploaded allowing you to control the smart plugs via Home Assist
via SSH and ensure your connection type is set to **SFTP**
#. Browse to ``/root/tuya-convert/files``.
#. Upload your compiled ``firmware.bin`` file to this directory. For command line based installs you can access the file under
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin`` alternatively Hass.io users can download the file directly from the web UI.
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin`` alternatively Home Assistant add-on users can download the file directly from the web UI.
2.7 Use tuya-convert to install ESPHome Firmware
************************************************

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 KiB

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 KiB

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 KiB

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -47,7 +47,7 @@ For this guide you will need:
- A USB to UART Bridge for flashing the device. These can be bought on Amazon (or other online stores) for less than 5 dollars.
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your Sonoff.
- Jumper wires to connect the UART bridge to the header pins.
- A computer running Home Assistant with the ESPHome Hass.io add-on.
- A computer running Home Assistant with the ESPHome Home Assistant add-on.
- A screwdriver to open up the Sonoff 4CH.
Have everything? Great! Then you can start.
@ -211,13 +211,17 @@ of the basic functions.
---------------------------------------- -----------------------------------------
``GPIO13`` Blue LED (inverted)
---------------------------------------- -----------------------------------------
``GPIO1`` ``RX`` pin (for external sensors)
``GPIO1`` ``TX`` pin (for external sensors)
---------------------------------------- -----------------------------------------
``GPIO3`` ``TX`` pin (for external sensors)
``GPIO3`` ``RX`` pin (for external sensors)
---------------------------------------- -----------------------------------------
``GPIO2`` ``IO2`` pin (for external sensors)
======================================== =========================================
.. note::
The ESP8266 will be prevented from booting if the following pins are pulled LOW (connected to GND) on cold startup: ``GPIO0``, ``GPIO1``, ``GPIO2``. Be prepared if you want to use them for input sensors.
.. code-block:: yaml
esphome:

View File

@ -54,7 +54,8 @@ exposes all of the basic functions.
esphome:
name: <NAME_OF_NODE>
platform: ESP8266
board: esp01_1m
board: esp8285
arduino_version: 2.4.2
wifi:
ssid: <YOUR_SSID>

View File

@ -46,7 +46,7 @@ For this guide you will need:
- Sonoff S20 😉.
- A USB to UART Bridge for flashing the device. These can be bought on Amazon (or other online stores) for less than 5 dollars.
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your S20.
- A computer running Home Assistant with the ESPHome Hass.io add-on.
- A computer running Home Assistant with the ESPHome Home Assistant add-on.
- A screwdriver to open up the S20.
- A soldering iron and a few header pins to connect the UART interface.
@ -200,6 +200,8 @@ of the basic functions.
``GPIO1`` ``RX`` pin (for external sensors)
---------------------------------------- ----------------------------------------
``GPIO3`` ``TX`` pin (for external sensors)
---------------------------------------- ----------------------------------------
``GPIO2`` ``E-LOG`` pin (From PCB V2.1; for external sensors)
======================================== ========================================
.. code-block:: yaml
@ -207,8 +209,7 @@ of the basic functions.
esphome:
name: <NAME_OF_NODE>
platform: ESP8266
board: esp8285
arduino_version: 2.4.2
board: esp01_1m
wifi:
ssid: <YOUR_SSID>
@ -229,6 +230,9 @@ of the basic functions.
name: "Sonoff S20 Button"
- platform: status
name: "Sonoff S20 Status"
- platform: gpio
pin: GPIO2
name: "Sonoff S20 Sensor"
switch:

View File

@ -51,7 +51,7 @@ For this guide you will need:
- A USB to UART Bridge for flashing the device. These can be bought on Amazon for less than 5 dollars.
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your Sonoff.
- Jumper wires to connect the UART bridge to the header pins and to connect GPIO0 to the Ground.
- Computer running ESPHome or Hass.io add-on.
- Computer running ESPHome or Home Assistant add-on.
- Screwdriver to open up the Sonoff T1 UK 3 Gang.
Have everything? Great! Then you can start.

View File

@ -44,7 +44,7 @@ Blog Posts & Videos
- `Washing machine phases detector (Sonoff Pow R2) <https://github.com/Gio-dot/Washing-Machine-Sonoff-Pow-R2-Esphome>`__ by `Gio-dot <https://github.com/Gio-dot>`__
- `Sonoff L1 LED Strip <https://emorydunn.com/blog/2020/08/10/sonoff-l1-home-assistant/>`__ by :ghuser:`emorydunn`
- `ESPHome for SP501E LED Controller <https://margau.net/posts/2020-11-21-2h-led-hack/>`__ by `margau <https://margau.net>`__
- `4$ Xiaomi mijia thermometer LYWSD03MMC + ESP32 + ESPhome <https://omarghader.github.io/how-to-monitor-your-home-temperature-with-esp32-and-xiaomi-mijia-using-esphome/>`__ by `Omar GHADER <https://omarghader.github.io/post>`__
- `4$ Xiaomi mijia thermometer LYWSD03MMC + ESP32 + ESPHome <https://omarghader.github.io/how-to-monitor-your-home-temperature-with-esp32-and-xiaomi-mijia-using-esphome/>`__ by `Omar GHADER <https://omarghader.github.io/post>`__
- `Baseboard (Line Voltage) Thermostat from Smart Switch <https://github.com/rjmurph2241/baseboard-heating-thermostat>`__ by :ghuser:`rjmurph2241`
- `Office Doorbell <https://github.com/shish/esphome-projects/blob/master/office-doorbell.md>`__ by :ghuser:`shish`
- `Display TM1637 with ESPHome and MQTT showing Youtube subscribers count and other info <https://youtu.be/27JZEky0h1Q>`__ by :ghuser:`electrofun-smart`
@ -78,6 +78,7 @@ Custom Components & Code
- `Custom UART component for WS3 weather station and air particulate matter sensor <https://github.com/kquinsland/ws3-to-esphome-bridge>`__ by :ghuser:`kquinsland`
- `ADEMCO/VISTA/Honeywell alarm system custom component <https://github.com/Dilbert66/esphome-vistaECP>`__ by :ghuser:`Dilbert66`
- `Winsen ZE08-CH2O (Formaldehyde sensor) custom component <https://gist.github.com/cretep/f96606dc6a4eae0d85993d6085959220>`__ by :ghuser:`cretep`
- `ZclMqttBridge custom component <https://github.com/HyperReap/zcl_mqtt_bridge>`__ by :ghuser:`HyperReap`
Sample Configurations
---------------------

View File

@ -51,10 +51,10 @@ and did not mount the ESP device into your container using ``--device=/dev/ttyUS
Starting with ESPHome 1.9.0, the ESPHome suite provides
`esphome-flasher <https://github.com/esphome/esphome-flasher>`__, a tool to flash ESPs over USB.
First, you need to get the firmware file to flash. For Hass.io add-on based installs you can
use the ``COMPILE`` button (click the overflow icon with the three dots) and then press
``Download Binary``. For command line based installs you can access the file under
``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin``.
First, you need to get the firmware file to flash. For the Home Assistant add-on based
installs you can use the ``COMPILE`` button (click the overflow icon with the three dots)
and then press ``Download Binary``. For command line based installs you can access the
file under ``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin``.
Then, install esphome-flasher by going to the `releases page <https://github.com/esphome/esphome-flasher/releases>`__
and downloading one of the pre-compiled binaries. Open up the application and select the serial port
@ -125,7 +125,8 @@ It's simple. Run:
# From docker:
docker pull esphome/esphome:latest
And in Hass.io, there's a simple UPDATE button when there's an update available as with all add-ons
And in Home Assistant, there's a simple UPDATE button when there's an update
available as with all add-ons.
.. _faq-beta:
@ -159,7 +160,7 @@ If you find some, please do however report them.
To install the dev version of ESPHome:
- In Hass.io: Add the ESPHome repository `https://github.com/esphome/hassio <https://github.com/esphome/hassio>`
- In Home Assistant: Add the ESPHome repository `https://github.com/esphome/hassio <https://github.com/esphome/hassio>`
in Add-on store -> Repositories. Then install the add-on ``ESPHome Dev``
- From ``pip``: Run ``pip3 install https://github.com/esphome/esphome/archive/dev.zip``
- From docker, use the `esphome/esphome:dev <https://hub.docker.com/r/esphome/esphome/tags?page=1&name=dev>`__ image
@ -315,7 +316,8 @@ And a docker compose file looks like this:
2. Enable UDP traffic from ESPHome node's subnet to 224.0.0.251/32 on port 5353.
Alternatively, you can make esphome use ICMP pings to check the status of the device
with the Hass.io Addon ``"status_use_ping": true,`` option or with docker ``-e ESPHOME_DASHBOARD_USE_PING=true``
with the Home Assistant add-on ``"status_use_ping": true,`` option or with
Docker ``-e ESPHOME_DASHBOARD_USE_PING=true``.
See also https://github.com/esphome/issues/issues/641#issuecomment-534156628.
.. _faq-notes_on_disabling_mdns:

View File

@ -160,7 +160,7 @@ Bonus: ESPHome dashboard
ESPHome features a dashboard that you can use to easily manage your nodes
from a nice web interface. It was primarily designed for
:doc:`the Hass.io add-on <getting_started_hassio>`, but also works with a simple command on
:doc:`the Home Assistant add-on <getting_started_hassio>`, but also works with a simple command on
\*nix machines (sorry, no windows).
To start the ESPHome dashboard, simply start ESPHome with the following command

View File

@ -14,8 +14,8 @@ Getting Binary
First follow the guides for the :ref:`different supported devices <devices>` and create a configuration
file. Then, generate and download the binary:
- **Using the Hass.io add-on/dashboard**: Just click the ``COMPILE`` button, wait for
the compilation to end and press the ``DOWNLOAD BINARY`` button.
- **Using the Home Assistant add-on/dashboard**: Just click the ``COMPILE`` button,
wait for the compilation to end and press the ``DOWNLOAD BINARY`` button.
.. figure:: images/download_binary.png

View File

@ -14,8 +14,9 @@ Getting Binary
First follow the guides for the :ref:`different supported devices <devices>` and create a configuration
file. Then, generate and download the binary:
- **Using the Hass.io add-on/dashboard**: Just click the ``COMPILE`` button, wait for
the compilation to end and press the ``DOWNLOAD BINARY`` button.
- **Using the Home Assistant add-on/dashboard**: Just click the ``COMPILE``
button, wait for the compilation to end and press the ``DOWNLOAD BINARY``
button.
.. figure:: images/download_binary.png

View File

@ -14,8 +14,9 @@ Getting the Binary
First follow the guides for the :ref:`different supported devices <devices>` and create a configuration
file. Then, generate and download the binary:
- **Using the Hass.io add-on/dashboard**: Just click the ``COMPILE`` button, wait for
the compilation to end and press the ``DOWNLOAD BINARY`` button.
- **Using the Home Assistant add-on/dashboard**: Just click the ``COMPILE``
button, wait for the compilation to end and press the ``DOWNLOAD BINARY``
button.
.. figure:: images/download_binary.png

View File

@ -17,6 +17,7 @@ Contributors
(in alphabetical order)
- `0hax (@0hax) <https://github.com/0hax>`__
- `Nikola (@0nikola1) <https://github.com/0nikola1>`__
- `0x0a11c0de (@0x0a11c0de) <https://github.com/0x0a11c0de>`__
- `2016for (@2016for) <https://github.com/2016for>`__
- `Pavel Golovin (@31337Ghost) <https://github.com/31337Ghost>`__
@ -31,6 +32,7 @@ Contributors
- `Andrea Donno (@adonno) <https://github.com/adonno>`__
- `Adrien Brault (@adrienbrault) <https://github.com/adrienbrault>`__
- `Johan Bloemberg (@aequitas) <https://github.com/aequitas>`__
- `Stefan Agner (@agners) <https://github.com/agners>`__
- `Anders (@ahd71) <https://github.com/ahd71>`__
- `Alexander Pohl (@ahpohl) <https://github.com/ahpohl>`__
- `Airy André (@airy10) <https://github.com/airy10>`__
@ -44,6 +46,7 @@ Contributors
- `Alex Mekkering (@AlexMekkering) <https://github.com/AlexMekkering>`__
- `Alex (@alexyao2015) <https://github.com/alexyao2015>`__
- `Amish Vishwakarma (@amishv) <https://github.com/amishv>`__
- `andig (@andig) <https://github.com/andig>`__
- `András Bíró (@andrasbiro) <https://github.com/andrasbiro>`__
- `Andreas Hergert (@andreashergert1984) <https://github.com/andreashergert1984>`__
- `Andrzej (@andriej) <https://github.com/andriej>`__
@ -56,9 +59,11 @@ Contributors
- `Darius Ratkevičius (@aphex008) <https://github.com/aphex008>`__
- `Ash McKenzie (@ashmckenzie) <https://github.com/ashmckenzie>`__
- `Pavel Pletenev (@ASMfreaK) <https://github.com/ASMfreaK>`__
- `Mike Dunston (@atanisoft) <https://github.com/atanisoft>`__
- `Achilleas Pipinellis (@axilleas) <https://github.com/axilleas>`__
- `Kamil Trzciński (@ayufan) <https://github.com/ayufan>`__
- `Nicholas Peters (@Azimath) <https://github.com/Azimath>`__
- `Daniel (@azrael783) <https://github.com/azrael783>`__
- `Florian Mösch (@badbadc0ffee) <https://github.com/badbadc0ffee>`__
- `balk77 (@balk77) <https://github.com/balk77>`__
- `Paulus Schoutsen (@balloob) <https://github.com/balloob>`__
@ -68,8 +73,11 @@ Contributors
- `Ben Suffolk (@bensuffolk) <https://github.com/bensuffolk>`__
- `Bierchermuesli (@Bierchermuesli) <https://github.com/Bierchermuesli>`__
- `Jim Ekman (@blejdfist) <https://github.com/blejdfist>`__
- `Bob (@Bmooij) <https://github.com/Bmooij>`__
- `Mauricio Bonani (@bonanitech) <https://github.com/bonanitech>`__
- `Casey Olson (@bookcasey) <https://github.com/bookcasey>`__
- `boradwell (@boradwell) <https://github.com/boradwell>`__
- `BoukeHaarsma23 (@BoukeHaarsma23) <https://github.com/BoukeHaarsma23>`__
- `Patrik Hermansson (@bphermansson) <https://github.com/bphermansson>`__
- `Bram Kragten (@bramkragten) <https://github.com/bramkragten>`__
- `Brad Davidson (@brandond) <https://github.com/brandond>`__
@ -81,13 +89,16 @@ Contributors
- `Carlos Gustavo Sarmiento (@carlos-sarmiento) <https://github.com/carlos-sarmiento>`__
- `Carlos Garcia Saura (@CarlosGS) <https://github.com/CarlosGS>`__
- `cbialobos (@cbialobos) <https://github.com/cbialobos>`__
- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
- `Marco (@cdrfun) <https://github.com/cdrfun>`__
- `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__
- `Pavel Skuratovich (@Chupaka) <https://github.com/Chupaka>`__
- `John (@CircuitSetup) <https://github.com/CircuitSetup>`__
- `Chris Debenham (@cjd) <https://github.com/cjd>`__
- `Cody James (@codyjamestechnical) <https://github.com/codyjamestechnical>`__
- `John Coggeshall (@coogle) <https://github.com/coogle>`__
- `James Crook (@cooljimy84) <https://github.com/cooljimy84>`__
- `copercini (@copercini) <https://github.com/copercini>`__
- `Corban Mailloux (@corbanmailloux) <https://github.com/corbanmailloux>`__
- `Dmitry Berezovsky (@corvis) <https://github.com/corvis>`__
- `Connor Prussin (@cprussin) <https://github.com/cprussin>`__
@ -121,6 +132,7 @@ Contributors
- `Mickaël Le Baillif (@demikl) <https://github.com/demikl>`__
- `dependabot[bot] (@dependabot[bot]) <https://github.com/dependabot[bot]>`__
- `Destix (@Destix) <https://github.com/Destix>`__
- `Dezorian (@Dezorian) <https://github.com/Dezorian>`__
- `Alain Turbide (@Dilbert66) <https://github.com/Dilbert66>`__
- `Mark (@Diramu) <https://github.com/Diramu>`__
- `Dirk Heinke (@DirkHeinke) <https://github.com/DirkHeinke>`__
@ -180,6 +192,7 @@ Contributors
- `Fredrik Erlandsson (@fredrike) <https://github.com/fredrike>`__
- `Evgeny (@freekode) <https://github.com/freekode>`__
- `Brett McKenzie (@freerangeeggs) <https://github.com/freerangeeggs>`__
- `Franck Nijhof (@frenck) <https://github.com/frenck>`__
- `Fritz Mueller (@fritzm) <https://github.com/fritzm>`__
- `Marc Egli (@frog32) <https://github.com/frog32>`__
- `mr G1K (@G1K) <https://github.com/G1K>`__
@ -210,6 +223,7 @@ Contributors
- `HepoH3 (@HepoH3) <https://github.com/HepoH3>`__
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
- `MoA (@honomoa) <https://github.com/honomoa>`__
- `Adrián Panella (@ianchi) <https://github.com/ianchi>`__
- `Ian Leeder (@ianleeder) <https://github.com/ianleeder>`__
- `icarome (@icarome) <https://github.com/icarome>`__
- `igg (@igg) <https://github.com/igg>`__
@ -226,6 +240,7 @@ Contributors
- `Jason-nz (@Jason-nz) <https://github.com/Jason-nz>`__
- `Jason Hines (@jasonehines) <https://github.com/jasonehines>`__
- `JbLb (@jblb) <https://github.com/jblb>`__
- `James Callaghan (@jcallaghan) <https://github.com/jcallaghan>`__
- `Joshua Dadswell (@jdads1) <https://github.com/jdads1>`__
- `jeff-h (@jeff-h) <https://github.com/jeff-h>`__
- `Jeff Rescignano (@JeffResc) <https://github.com/JeffResc>`__
@ -262,6 +277,7 @@ Contributors
- `Kurt Kellner (@kkellner) <https://github.com/kkellner>`__
- `Klaas Schoute (@klaasnicolaas) <https://github.com/klaasnicolaas>`__
- `Klarstein (@Klarstein) <https://github.com/Klarstein>`__
- `klenaers (@klenaers) <https://github.com/klenaers>`__
- `Kevin Lewis (@kll) <https://github.com/kll>`__
- `korellas (@korellas) <https://github.com/korellas>`__
- `Kevin Pelzel (@kpelzel) <https://github.com/kpelzel>`__
@ -270,7 +286,9 @@ Contributors
- `krikk (@krikk) <https://github.com/krikk>`__
- `KristopherMackowiak (@KristopherMackowiak) <https://github.com/KristopherMackowiak>`__
- `kroimon (@kroimon) <https://github.com/kroimon>`__
- `krunkel (@krunkel) <https://github.com/krunkel>`__
- `Kendell R (@KTibow) <https://github.com/KTibow>`__
- `Jakub Šimo (@kubik369) <https://github.com/kubik369>`__
- `kvvoff (@kvvoff) <https://github.com/kvvoff>`__
- `Ken Davidson (@kwdavidson) <https://github.com/kwdavidson>`__
- `Kyle Manna (@kylemanna) <https://github.com/kylemanna>`__
@ -278,6 +296,7 @@ Contributors
- `Stefan Lässer (@Laess3r) <https://github.com/Laess3r>`__
- `Steffen Weinreich (@lairsdragon) <https://github.com/lairsdragon>`__
- `Fredrik Lindqvist (@Landrash) <https://github.com/Landrash>`__
- `larsonmpdx (@larsonmpdx) <https://github.com/larsonmpdx>`__
- `lein1013 (@lein1013) <https://github.com/lein1013>`__
- `Riku Lindblad (@lepinkainen) <https://github.com/lepinkainen>`__
- `Juraj Liso (@LiJu09) <https://github.com/LiJu09>`__
@ -298,6 +317,7 @@ Contributors
- `Major Péter (@majorpeter) <https://github.com/majorpeter>`__
- `Manuel Díez (@manutenfruits) <https://github.com/manutenfruits>`__
- `Marcel van der Veldt (@marcelveldt) <https://github.com/marcelveldt>`__
- `Marc Teale (@marcteale) <https://github.com/marcteale>`__
- `marecabo (@marecabo) <https://github.com/marecabo>`__
- `Marvin Gaube (@margau) <https://github.com/margau>`__
- `Martynas Griškonis (@Margriko) <https://github.com/Margriko>`__
@ -309,8 +329,10 @@ Contributors
- `MasterTim17 (@MasterTim17) <https://github.com/MasterTim17>`__
- `matikij (@matikij) <https://github.com/matikij>`__
- `Michel Marti (@matoxp) <https://github.com/matoxp>`__
- `matt123p (@matt123p) <https://github.com/matt123p>`__
- `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__
- `mbo18 (@mbo18) <https://github.com/mbo18>`__
- `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__
- `Joseph Mearman (@Mearman) <https://github.com/Mearman>`__
- `Mechotronic (@Mechotronic) <https://github.com/Mechotronic>`__
- `MeIchthys (@meichthys) <https://github.com/meichthys>`__
@ -321,6 +343,7 @@ Contributors
- `Pauline Middelink (@middelink) <https://github.com/middelink>`__
- `mikosoft83 (@mikosoft83) <https://github.com/mikosoft83>`__
- `Minideezel (@minideezel) <https://github.com/minideezel>`__
- `André Klitzing (@misery) <https://github.com/misery>`__
- `Matthew Edwards (@mje-nz) <https://github.com/mje-nz>`__
- `Maarten (@mjkl-gh) <https://github.com/mjkl-gh>`__
- `mjoshd (@mjoshd) <https://github.com/mjoshd>`__
@ -355,15 +378,18 @@ Contributors
- `nldroid (@nldroid) <https://github.com/nldroid>`__
- `Niccolò Maggioni (@nmaggioni) <https://github.com/nmaggioni>`__
- `Alex (@nnmalex) <https://github.com/nnmalex>`__
- `Jan Sandbrink (@NobodysNightmare) <https://github.com/NobodysNightmare>`__
- `ffabi (@norges) <https://github.com/norges>`__
- `Greg Johnson (@notgwj) <https://github.com/notgwj>`__
- `Stanislav Meduna (@numo68) <https://github.com/numo68>`__
- `Nuno Sousa (@nunofgs) <https://github.com/nunofgs>`__
- `Chris Nussbaum (@nuttytree) <https://github.com/nuttytree>`__
- `obrain17 (@obrain17) <https://github.com/obrain17>`__
- `Dave Walker (@oddsockmachine) <https://github.com/oddsockmachine>`__
- `Olivér Falvai (@ofalvai) <https://github.com/ofalvai>`__
- `Omar Ghader (@omarghader) <https://github.com/omarghader>`__
- `Oncleben31 (@oncleben31) <https://github.com/oncleben31>`__
- `onde2rock (@onde2rock) <https://github.com/onde2rock>`__
- `Oscar Bolmsten (@oscar-b) <https://github.com/oscar-b>`__
- `Otamay (@Otamay) <https://github.com/Otamay>`__
- `Otto Winter (@OttoWinter) <https://github.com/OttoWinter>`__
@ -375,6 +401,7 @@ Contributors
- `peq123 (@peq123) <https://github.com/peq123>`__
- `per1234 (@per1234) <https://github.com/per1234>`__
- `perjury (@perjury) <https://github.com/perjury>`__
- `Peter Remøy Paulsen (@petrepa) <https://github.com/petrepa>`__
- `Philip Rosenberg-Watt (@PhilRW) <https://github.com/PhilRW>`__
- `phjr (@phjr) <https://github.com/phjr>`__
- `pieterbrink123 (@pieterbrink123) <https://github.com/pieterbrink123>`__
@ -389,6 +416,7 @@ Contributors
- `Peter Tatrai (@ptatrai) <https://github.com/ptatrai>`__
- `Leandro Puerari (@puerari) <https://github.com/puerari>`__
- `puuu (@puuu) <https://github.com/puuu>`__
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
- `Quinn Hosler (@quinnhosler) <https://github.com/quinnhosler>`__
- `r-jordan (@r-jordan) <https://github.com/r-jordan>`__
@ -412,14 +440,17 @@ Contributors
- `rnauber (@rnauber) <https://github.com/rnauber>`__
- `Rob Deutsch (@rob-deutsch) <https://github.com/rob-deutsch>`__
- `Rob de Jonge (@robdejonge) <https://github.com/robdejonge>`__
- `Robert Alfaro (@robert-alfaro) <https://github.com/robert-alfaro>`__
- `Robin Smidsrød (@robinsmidsrod) <https://github.com/robinsmidsrod>`__
- `RockBomber (@RockBomber) <https://github.com/RockBomber>`__
- `RoganDawes (@RoganDawes) <https://github.com/RoganDawes>`__
- `romerod (@romerod) <https://github.com/romerod>`__
- `Jérôme W. (@RomRider) <https://github.com/RomRider>`__
- `Robbie Page (@rorpage) <https://github.com/rorpage>`__
- `rradar (@rradar) <https://github.com/rradar>`__
- `rspaargaren (@rspaargaren) <https://github.com/rspaargaren>`__
- `Rubén G. (@rubengargar) <https://github.com/rubengargar>`__
- `RubyBailey (@RubyBailey) <https://github.com/RubyBailey>`__
- `rudgr (@rudgr) <https://github.com/rudgr>`__
- `ryanalden (@ryanalden) <https://github.com/ryanalden>`__
- `Ryan Nazaretian (@ryannazaretian) <https://github.com/ryannazaretian>`__
@ -458,12 +489,15 @@ Contributors
- `Teemu Mikkonen (@T3m3z) <https://github.com/T3m3z>`__
- `Taigar2015 (@Taigar2015) <https://github.com/Taigar2015>`__
- `Levente Tamas (@tamisoft) <https://github.com/tamisoft>`__
- `tantive (@tantive) <https://github.com/tantive>`__
- `TBobsin (@TBobsin) <https://github.com/TBobsin>`__
- `Team Super Panda (@teamsuperpanda) <https://github.com/teamsuperpanda>`__
- `teffcz (@teffcz) <https://github.com/teffcz>`__
- `testbughub (@testbughub) <https://github.com/testbughub>`__
- `The Impaler (@the-impaler) <https://github.com/the-impaler>`__
- `Nejc (@thedexboy) <https://github.com/thedexboy>`__
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__
- `TheGroundZero (@TheGroundZero) <https://github.com/TheGroundZero>`__
- `Spencer Hachmeister (@TheHackmeister) <https://github.com/TheHackmeister>`__
- `thejonesyboy (@thejonesyboy) <https://github.com/thejonesyboy>`__
- `TheJulianJES (@TheJulianJES) <https://github.com/TheJulianJES>`__
@ -471,6 +505,7 @@ Contributors
- `Mateusz Soszyński (@TheLastGimbus) <https://github.com/TheLastGimbus>`__
- `Andrew Quested (@thenameiwantedwastaken) <https://github.com/thenameiwantedwastaken>`__
- `Zixuan Wang (@TheNetAdmin) <https://github.com/TheNetAdmin>`__
- `Simon (@theOzzieRat) <https://github.com/theOzzieRat>`__
- `Florian Gareis (@TheZoker) <https://github.com/TheZoker>`__
- `Thomas Klingbeil (@thomasklingbeil) <https://github.com/thomasklingbeil>`__
- `Andrew Thompson (@thompsa) <https://github.com/thompsa>`__
@ -496,6 +531,7 @@ Contributors
- `Tuckie (@Tuckie) <https://github.com/Tuckie>`__
- `Alexey Vlasov (@turbulator) <https://github.com/turbulator>`__
- `Seppel Hardt (@tuxBurner) <https://github.com/tuxBurner>`__
- `Thorsten von Eicken (@tve) <https://github.com/tve>`__
- `tyomikh (@tyomikh) <https://github.com/tyomikh>`__
- `ukewea (@ukewea) <https://github.com/ukewea>`__
- `Vc (@Valcob) <https://github.com/Valcob>`__
@ -516,17 +552,20 @@ Contributors
- `WJCarpenter (@wjcarpenter) <https://github.com/wjcarpenter>`__
- `Artur 'Wodor' Wielogorski (@wodor) <https://github.com/wodor>`__
- `Rick van Hattem (@WoLpH) <https://github.com/WoLpH>`__
- `workingmanrob (@workingmanrob) <https://github.com/workingmanrob>`__
- `Wojtek Strzalka (@wstrzalka) <https://github.com/wstrzalka>`__
- `wutr (@wutr) <https://github.com/wutr>`__
- `xheronimo (@xheronimo) <https://github.com/xheronimo>`__
- `Mike (@xsnoopy) <https://github.com/xsnoopy>`__
- `Yaroslav (@Yarikx) <https://github.com/Yarikx>`__
- `Marcin Jaworski (@yawor) <https://github.com/yawor>`__
- `Pavel (@yekm) <https://github.com/yekm>`__
- `Atsuko Ito (@yottatsa) <https://github.com/yottatsa>`__
- `Nico B (@youknow0) <https://github.com/youknow0>`__
- `YuanL.Lee (@yuanl) <https://github.com/yuanl>`__
- `Yuval Aboulafia (@yuvalabou) <https://github.com/yuvalabou>`__
- `ZabojnikM (@ZabojnikM) <https://github.com/ZabojnikM>`__
- `San (@zhujunsan) <https://github.com/zhujunsan>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated May 9, 2021.*
*This page was last updated May 19, 2021.*

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -1,93 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="135mm"
height="60mm"
viewBox="0 0 135 60"
version="1.1"
id="svg100"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="canbus.svg">
<defs
id="defs94" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="377.23571"
inkscape:cy="206.93478"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata97">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Laag 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-237)">
<path
d="m 16.440094,239.55732 100.197636,-0.82276 c 7.87458,-0.0647 14.25779,8.06718 14.25779,18.01748 v 19.94787 c 0,9.9503 -6.38398,17.95186 -14.25779,18.01651 l -100.197636,0.82277 c -7.8745723,0.0647 -14.2585483,-8.0662 -14.2585483,-18.0165 v -19.94792 c 0,-9.95124 6.383809,-18.01745 14.2577863,-18.01745 z"
id="path69"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssssssssc"
style="stroke-width:0.85861504" />
<path
d="m 16.440094,239.55732 100.342446,-0.33525 c 7.87473,-0.0255 14.25779,8.06715 14.25779,18.01745 v 19.94792 c 0,9.9503 -6.38383,17.9902 -14.25779,18.01649 l -100.342446,0.33526 c -7.8747113,0.0255 -14.2585483,-8.0662 -14.2585483,-18.0165 v -19.94792 c 0,-9.95124 6.383809,-18.01745 14.2577863,-18.01745 z"
stroke-miterlimit="10"
id="path71"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-width:1.14453387;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
sodipodi:nodetypes="cssssssssc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36.63424301px;line-height:1.25;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.85861504"
x="19.823954"
y="250.492"
id="text114"
transform="scale(0.8895678,1.1241414)"><tspan
sodipodi:role="line"
id="tspan112"
x="19.823954"
y="250.492"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36.63424301px;line-height:1.25;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';fill:#ffffff;stroke-width:0.85861504">CAN</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.48880768px;line-height:1.25;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.86666292"
x="-352.34537"
y="87.275421"
id="text118"
transform="matrix(0,-0.80144605,1.2477446,0,0,0)"><tspan
sodipodi:role="line"
id="tspan116"
x="-352.34537"
y="87.275421"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.48880768px;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';fill:#ffffff;stroke-width:0.86666292">BUS</tspan></text>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg100" width="135mm" height="60mm" version="1.1" viewBox="0 0 135 60"><metadata id="metadata97"/><g id="layer1" transform="translate(0,-237)"><path id="path69" d="m 16.440094,239.55732 100.197636,-0.82276 c 7.87458,-0.0647 14.25779,8.06718 14.25779,18.01748 v 19.94787 c 0,9.9503 -6.38398,17.95186 -14.25779,18.01651 l -100.197636,0.82277 c -7.8745723,0.0647 -14.2585483,-8.0662 -14.2585483,-18.0165 v -19.94792 c 0,-9.95124 6.383809,-18.01745 14.2577863,-18.01745 z" style="stroke-width:.85861504"/><path id="path71" stroke-miterlimit="10" d="m 16.440094,239.55732 100.342446,-0.33525 c 7.87473,-0.0255 14.25779,8.06715 14.25779,18.01745 v 19.94792 c 0,9.9503 -6.38383,17.9902 -14.25779,18.01649 l -100.342446,0.33526 c -7.8747113,0.0255 -14.2585483,-8.0662 -14.2585483,-18.0165 v -19.94792 c 0,-9.95124 6.383809,-18.01745 14.2577863,-18.01745 z" style="fill:none;stroke:#000;stroke-width:1.14453387;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"/><text style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:36.63424301px;line-height:1.25;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';letter-spacing:0;word-spacing:0;fill:#fff;fill-opacity:1;stroke:none;stroke-width:.85861504" id="text114" x="19.824" y="250.492" transform="scale(0.8895678,1.1241414)" xml:space="preserve"><tspan id="tspan112" x="19.824" y="250.492" style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:36.63424301px;line-height:1.25;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';fill:#fff;stroke-width:.85861504">CAN</tspan></text><text style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:18.48880768px;line-height:1.25;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';letter-spacing:0;word-spacing:0;fill:#fff;fill-opacity:1;stroke:none;stroke-width:.86666292" id="text118" x="-352.345" y="87.275" transform="matrix(0,-0.80144605,1.2477446,0,0,0)" xml:space="preserve"><tspan id="tspan116" x="-352.345" y="87.275" style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:18.48880768px;font-family:'Arial Rounded MT Bold';-inkscape-font-specification:'Arial Rounded MT Bold, ';fill:#fff;stroke-width:.86666292">BUS</tspan></text></g></svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M3.9 12c0-1.7 1.4-3.1 3.1-3.1h4V7H7c-2.8 0-5 2.2-5 5s2.2 5 5 5h4v-1.9H7c-1.7 0-3.1-1.4-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1h-4V17h4c2.8 0 5-2.2 5-5s-2.2-5-5-5z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3.9 12c0-1.7 1.4-3.1 3.1-3.1h4V7H7c-2.8 0-5 2.2-5 5s2.2 5 5 5h4v-1.9H7c-1.7 0-3.1-1.4-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1h-4V17h4c2.8 0 5-2.2 5-5s-2.2-5-5-5z"/></svg>

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -1,43 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW X6 -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="32.277mm" height="12.424mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 3228 1242"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<style type="text/css">
<![CDATA[
.fil3 {fill:#00B0F0;fill-rule:nonzero}
.fil1 {fill:url(#id0)}
.fil2 {fill:url(#id1)}
.fil0 {fill:url(#id2)}
]]>
</style>
<radialGradient id="id0" gradientUnits="userSpaceOnUse" cx="9593.85" cy="-10300.9" r="10500" fx="9593.85" fy="-10300.9">
<stop offset="0" style="stop-color:#FEFEFE"/>
<stop offset="1" style="stop-color:#A9CF48"/>
</radialGradient>
<radialGradient id="id1" gradientUnits="userSpaceOnUse" cx="9593.85" cy="-8479.56" r="10500" fx="9593.85" fy="-8479.56">
<stop offset="0" style="stop-color:#FEFEFE"/>
<stop offset="1" style="stop-color:#A9CF47"/>
</radialGradient>
<radialGradient id="id2" gradientUnits="userSpaceOnUse" cx="9593.85" cy="-9336.04" r="10500" fx="9593.85" fy="-9336.04">
<stop offset="0" style="stop-color:#FEFEFE"/>
<stop offset="1" style="stop-color:#A9D048"/>
</radialGradient>
</defs>
<symbol id="Fm113-113-0" viewBox="1614 -22527 21000 13152">
<path class="fil0" d="M22614 -18376c-4943,-1048 -9932,-2209 -14431,-3078 -2289,-442 -4452,-793 -6569,-1072l0 9624 375 94c4502,654 8761,1621 13889,3007 2217,599 4524,528 6735,39l0 -8613z"/>
</symbol>
<symbol id="Fm119-119-0" viewBox="1614 -23737 21000 13088">
<path class="fil1" d="M22614 -19550c-5098,-1073 -10263,-2282 -14907,-3179 -2118,-409 -4128,-740 -6093,-1008l0 9669c4465,654 8699,1617 13789,2992 2376,642 4856,514 7211,-74l0 -8400z"/>
</symbol>
<symbol id="Fm107-107-0" viewBox="1614 -21838 21000 13251">
<path class="fil2" d="M22614 -17753c-4689,-1003 -9396,-2090 -13662,-2914 -2567,-496 -4976,-877 -7338,-1171l0 9530 1145 287c4502,654 8761,1621 13889,3007 1961,530 3992,535 5965,191l0 -8929z"/>
</symbol>
<g id="Camada_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil3" d="M1481 609l0 446 105 0 0 -446 -105 0zm-189 -170l-108 0c-12,0 -10,11 -10,11 2,14 5,37 5,85 0,106 -13,258 -129,403l-8 10c0,0 -70,-488 -71,-497 0,0 0,-11 -10,-11l-109 0c-10,0 -10,11 -10,11 -3,56 -34,526 -377,602 73,8 161,-15 238,-62 95,-59 159,-146 180,-246 0,0 42,262 47,322l0 4 -3 2c-96,51 -205,79 -314,79 -270,0 -509,-160 -614,-404 62,287 318,496 617,496 349,0 557,-292 593,-500 0,0 47,303 48,313l143 0c-2,-13 -97,-595 -98,-604 0,0 0,-11 -10,-11zm-1209 255c0,-320 270,-580 601,-580 205,0 396,103 507,270 -81,-228 -307,-384 -560,-384 -327,0 -593,255 -593,568 0,86 21,170 60,247 -9,-39 -15,-80 -15,-120zm2506 -21c-38,-44 -91,-67 -155,-67 -65,0 -120,21 -164,63 -43,41 -65,96 -65,164 0,67 21,121 63,161 42,40 103,60 179,60 148,0 180,-102 192,-135l-38 -12c-34,62 -110,66 -155,63 -32,-2 -61,-13 -84,-29 -23,-17 -39,-41 -46,-78l-2 -14 332 0c-1,-73 -20,-132 -57,-175zm-267 113c-5,0 -5,-5 -5,-7 4,-26 14,-46 32,-64 20,-21 51,-33 84,-33 30,0 54,9 75,26 17,15 29,36 36,65 1,3 3,12 -5,12l-217 0zm601 -182c-126,0 -171,77 -185,113 0,1 -5,13 -5,13l42 14c0,0 27,-78 134,-73 108,4 95,93 95,107 -60,-18 -145,-16 -201,9 -70,32 -81,96 -78,143 3,70 65,119 145,123 72,4 104,-12 134,-41l-1 41 95 0 0 -117 0 -144 0 -25 0 -21c2,-53 -35,-143 -175,-143zm80 346c0,7 -2,12 -8,15 -18,9 -56,21 -103,18 -49,-4 -68,-39 -71,-54 -1,-6 -12,-71 51,-91 41,-13 93,-5 121,3 8,2 10,7 10,17l0 93zm-1424 -511l-87 0c-13,0 -11,13 -11,13 0,14 0,80 0,94l107 0 0 -95c0,0 1,-11 -10,-11zm534 0l-89 0c-9,0 -9,10 -9,10l0 183 -13 -7c-14,-7 -28,-12 -43,-15 -15,-3 -33,-4 -53,-4 -70,0 -127,20 -169,61 -41,40 -63,98 -63,169 0,63 18,116 53,158 35,41 86,62 153,62 96,0 134,-58 134,-58l0 56 108 0 0 -105c0,-118 0,-499 0,-499 0,0 0,-11 -9,-11zm-104 494c-10,9 -23,16 -39,22 -17,7 -37,10 -59,10 -36,0 -65,-12 -86,-36 -21,-24 -31,-59 -31,-106 0,-46 10,-80 29,-101 20,-22 50,-33 90,-33 21,0 41,3 59,10 16,6 28,12 37,20 3,3 6,8 6,15l0 183c0,7 -3,12 -6,15z"/>
<path class="fil3" d="M3163 365c-37,0 -65,28 -65,65 0,36 28,65 65,65 37,0 65,-28 65,-65 0,-36 -28,-65 -65,-65zm0 9c31,0 55,25 55,56 0,31 -23,56 -55,56 -31,0 -55,-25 -55,-56 0,-31 23,-56 55,-56zm-14 60l16 0 21 33 11 0 -22 -33c10,-2 19,-8 19,-21 0,-13 -7,-21 -24,-21l-29 0 0 75 9 0 0 -33zm0 -8l0 -26 17 0c9,0 18,2 18,13 0,13 -11,13 -22,13l-12 0z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="121.992" height="46.957" version="1.1" viewBox="0 0 3228 1242" xml:space="preserve" style="shape-rendering:geometricPrecision;text-rendering:geometricPrecision;image-rendering:optimizeQuality;fill-rule:evenodd;clip-rule:evenodd"><defs><style type="text/css">.fil3{fill:#00b0f0;fill-rule:nonzero}.fil1{fill:url(#id0)}.fil2{fill:url(#id1)}.fil0{fill:url(#id2)}</style><radialGradient id="id0" cx="9593.85" cy="-10300.9" r="10500" fx="9593.85" fy="-10300.9" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fefefe"/><stop offset="1" style="stop-color:#a9cf48"/></radialGradient><radialGradient id="id1" cx="9593.85" cy="-8479.56" r="10500" fx="9593.85" fy="-8479.56" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fefefe"/><stop offset="1" style="stop-color:#a9cf47"/></radialGradient><radialGradient id="id2" cx="9593.85" cy="-9336.04" r="10500" fx="9593.85" fy="-9336.04" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fefefe"/><stop offset="1" style="stop-color:#a9d048"/></radialGradient></defs><symbol id="Fm113-113-0" viewBox="1614 -22527 21000 13152"><path d="M22614 -18376c-4943,-1048 -9932,-2209 -14431,-3078 -2289,-442 -4452,-793 -6569,-1072l0 9624 375 94c4502,654 8761,1621 13889,3007 2217,599 4524,528 6735,39l0 -8613z" class="fil0"/></symbol><symbol id="Fm119-119-0" viewBox="1614 -23737 21000 13088"><path d="M22614 -19550c-5098,-1073 -10263,-2282 -14907,-3179 -2118,-409 -4128,-740 -6093,-1008l0 9669c4465,654 8699,1617 13789,2992 2376,642 4856,514 7211,-74l0 -8400z" class="fil1"/></symbol><symbol id="Fm107-107-0" viewBox="1614 -21838 21000 13251"><path d="M22614 -17753c-4689,-1003 -9396,-2090 -13662,-2914 -2567,-496 -4976,-877 -7338,-1171l0 9530 1145 287c4502,654 8761,1621 13889,3007 1961,530 3992,535 5965,191l0 -8929z" class="fil2"/></symbol><g id="Camada_x0020_1"><metadata id="CorelCorpID_0Corel-Layer"/><path d="M1481 609l0 446 105 0 0 -446 -105 0zm-189 -170l-108 0c-12,0 -10,11 -10,11 2,14 5,37 5,85 0,106 -13,258 -129,403l-8 10c0,0 -70,-488 -71,-497 0,0 0,-11 -10,-11l-109 0c-10,0 -10,11 -10,11 -3,56 -34,526 -377,602 73,8 161,-15 238,-62 95,-59 159,-146 180,-246 0,0 42,262 47,322l0 4 -3 2c-96,51 -205,79 -314,79 -270,0 -509,-160 -614,-404 62,287 318,496 617,496 349,0 557,-292 593,-500 0,0 47,303 48,313l143 0c-2,-13 -97,-595 -98,-604 0,0 0,-11 -10,-11zm-1209 255c0,-320 270,-580 601,-580 205,0 396,103 507,270 -81,-228 -307,-384 -560,-384 -327,0 -593,255 -593,568 0,86 21,170 60,247 -9,-39 -15,-80 -15,-120zm2506 -21c-38,-44 -91,-67 -155,-67 -65,0 -120,21 -164,63 -43,41 -65,96 -65,164 0,67 21,121 63,161 42,40 103,60 179,60 148,0 180,-102 192,-135l-38 -12c-34,62 -110,66 -155,63 -32,-2 -61,-13 -84,-29 -23,-17 -39,-41 -46,-78l-2 -14 332 0c-1,-73 -20,-132 -57,-175zm-267 113c-5,0 -5,-5 -5,-7 4,-26 14,-46 32,-64 20,-21 51,-33 84,-33 30,0 54,9 75,26 17,15 29,36 36,65 1,3 3,12 -5,12l-217 0zm601 -182c-126,0 -171,77 -185,113 0,1 -5,13 -5,13l42 14c0,0 27,-78 134,-73 108,4 95,93 95,107 -60,-18 -145,-16 -201,9 -70,32 -81,96 -78,143 3,70 65,119 145,123 72,4 104,-12 134,-41l-1 41 95 0 0 -117 0 -144 0 -25 0 -21c2,-53 -35,-143 -175,-143zm80 346c0,7 -2,12 -8,15 -18,9 -56,21 -103,18 -49,-4 -68,-39 -71,-54 -1,-6 -12,-71 51,-91 41,-13 93,-5 121,3 8,2 10,7 10,17l0 93zm-1424 -511l-87 0c-13,0 -11,13 -11,13 0,14 0,80 0,94l107 0 0 -95c0,0 1,-11 -10,-11zm534 0l-89 0c-9,0 -9,10 -9,10l0 183 -13 -7c-14,-7 -28,-12 -43,-15 -15,-3 -33,-4 -53,-4 -70,0 -127,20 -169,61 -41,40 -63,98 -63,169 0,63 18,116 53,158 35,41 86,62 153,62 96,0 134,-58 134,-58l0 56 108 0 0 -105c0,-118 0,-499 0,-499 0,0 0,-11 -9,-11zm-104 494c-10,9 -23,16 -39,22 -17,7 -37,10 -59,10 -36,0 -65,-12 -86,-36 -21,-24 -31,-59 -31,-106 0,-46 10,-80 29,-101 20,-22 50,-33 90,-33 21,0 41,3 59,10 16,6 28,12 37,20 3,3 6,8 6,15l0 183c0,7 -3,12 -6,15z" class="fil3"/><path d="M3163 365c-37,0 -65,28 -65,65 0,36 28,65 65,65 37,0 65,-28 65,-65 0,-36 -28,-65 -65,-65zm0 9c31,0 55,25 55,56 0,31 -23,56 -55,56 -31,0 -55,-25 -55,-56 0,-31 23,-56 55,-56zm-14 60l16 0 21 33 11 0 -22 -33c10,-2 19,-8 19,-21 0,-13 -7,-21 -24,-21l-29 0 0 75 9 0 0 -33zm0 -8l0 -26 17 0c9,0 18,2 18,13 0,13 -11,13 -22,13l-12 0z" class="fil3"/></g></svg>

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,74 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="260"
height="61.333"
version="1.1"
id="svg10"
sodipodi:docname="sm2135.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<metadata
id="metadata16">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs14" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1016"
id="namedview12"
showgrid="false"
inkscape:zoom="2.6523438"
inkscape:cx="157.86732"
inkscape:cy="8.179514"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg10" />
<path
d="M20.456 1.6h219.3c10.31 0 18.667 8.357 18.667 18.667v20.666c0 10.31-8.358 18.667-18.667 18.667h-219.3c-10.31 0-18.667-8.357-18.667-18.667V20.267C1.79 9.957 10.146 1.6 20.456 1.6z"
id="path2" />
<path
fill="none"
stroke="#000"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="10"
stroke-width="1.333"
d="M20.456 1.6h219.3c10.31 0 18.667 8.357 18.667 18.667v20.666c0 10.31-8.358 18.667-18.667 18.667h-219.3c-10.31 0-18.667-8.357-18.667-18.667V20.267C1.79 9.957 10.146 1.6 20.456 1.6z"
id="path4" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:49.4582px;line-height:1.25;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.23645"
x="35.866905"
y="46.913731"
id="text24"
transform="scale(0.95547305,1.046602)"><tspan
sodipodi:role="line"
id="tspan22"
x="35.866905"
y="46.913731"
style="fill:#ffffff;stroke-width:1.23645">SM2135</tspan></text>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg10" width="260" height="61.333" version="1.1"><metadata id="metadata16"/><path id="path2" d="M20.456 1.6h219.3c10.31 0 18.667 8.357 18.667 18.667v20.666c0 10.31-8.358 18.667-18.667 18.667h-219.3c-10.31 0-18.667-8.357-18.667-18.667V20.267C1.79 9.957 10.146 1.6 20.456 1.6z"/><path id="path4" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.333" d="M20.456 1.6h219.3c10.31 0 18.667 8.357 18.667 18.667v20.666c0 10.31-8.358 18.667-18.667 18.667h-219.3c-10.31 0-18.667-8.357-18.667-18.667V20.267C1.79 9.957 10.146 1.6 20.456 1.6z"/><text style="font-style:normal;font-weight:400;font-size:49.4582px;line-height:1.25;font-family:sans-serif;fill:#fff;fill-opacity:1;stroke:none;stroke-width:1.23645" id="text24" x="35.867" y="46.914" transform="scale(0.95547305,1.046602)" xml:space="preserve"><tspan id="tspan22" x="35.867" y="46.914" style="fill:#fff;stroke-width:1.23645">SM2135</tspan></text></svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB