Merge branch 'current' into beta

This commit is contained in:
Otto Winter 2019-10-20 19:29:31 +02:00
commit 471c9f773a
No known key found for this signature in database
GPG Key ID: DB66C0BE6013F97E
14 changed files with 555 additions and 5 deletions

View File

@ -89,8 +89,8 @@ Frame Settings:
.. note::
The camera integration in Home Assistant isn't in stable or beta HA builds, so until 0.91
ships or goes into beta you will need to use a development version of Home Assistant.
Camera uses PWM timer #1. If you need PWM (via the ``ledc`` platform) you need to manually specify
a channel there (with the ``channel: 2`` parameter)
Configuration for Ai-Thinker Camera
-----------------------------------

View File

@ -0,0 +1,326 @@
Arduino Port Expander
=====================
.. seo::
:description: Instructions on using an Arduino board, like the Pro Mini for expanding ports of a ESPHome node
:image: arduino_pro_mini.jpg
:keywords: Arduino port expander extender ESPHome
With this sketch you can control pins of a remote Arduino board through ESPHome. The Arduino acts as a port
expander, allowing you to use more pins than a standard ESP8266/ESP32 has.
.. figure:: images/arduino_pro_mini.jpg
:align: center
:width: 75.0%
The Arduino is connected to the ESP via I²C. Most Arduinos use the ``A4`` and ``A5`` pins for the I²C bus
so those pins are not available to read from ESPHome.
It is recommended to use a 3.3V I/O level Arduino, however using 5V Arduinos seems to work too. In the latter
case you should power your 5V Arduino with 3.3V otherwise you will need a level converter for the
I²C bus.
Currently it is supported:
- reading digital inputs
- reading analog inputs
- writing digital outputs
The Arduino sketch can be retrieved from `here <https://github.com/glmnet/esphome_devices/tree/master/ArduinoPortExpander/src>`__
you can rename it to ``.ino`` and use the Arduino IDE to program it.
You need to download `arduino_port_expander.h <https://github.com/glmnet/esphome_devices/blob/master/arduino_port_expander.h>`__ and include the ape.h in the ESPHome configuration.
.. code-block:: yaml
esphome:
# ...
includes:
- arduino_port_expander.h
Setup your :ref:`I²C Bus <i2c>` and assign it an ``id``:
.. code-block:: yaml
i2c:
id: i2c_component
By default ESP8266 uses ``SDA`` pin ``GPIO4`` which you need to connect to Arduino's ``A4`` and the ``SCL``
is ``GPIO5`` which goes to Arduino's ``A5``.
Then create a ``custom_component``, this will be the main component we will be referencing later when creating
individual IOs.
.. code-block:: yaml
custom_component:
- id: ape
lambda: |-
auto ape_component = new ArduinoPortExpander(i2c_component, 0x08);
return {ape_component};
By default the I²C address is ``0x08`` but you can change it on the arduino sketch so you can have more slaves
on the same bus.
Now it is time to add the ports.
Binary_Sensor
-------------
When adding binary sensors the pins are configured as INPUT_PULLUP, you can use any PIN from 0 to 13 or
``A0`` to ``A3`` (``A4`` and ``A5`` are used for I²C and ``A6`` and ``A7`` do not support internal pull up)
.. note::
Arduino PIN 13 usually has a LED conected to it and using it as digital input with the built in internal
pull up might be problematic, using it as an output is preferred.
To setup binary sensors, create a custom platform as below, list in braces all the sensors you want,
in the example below two binary sensors are declared on pin 9 and A0 (number 14)
Then declare the ESPHome reference of the binary sensor in the same order as declared in the lambda:
.. code-block:: yaml
binary_sensor:
- platform: custom
lambda: |-
return {ape_binary_sensor(ape, 9),
ape_binary_sensor(ape, 14) // 14 = A0
};
binary_sensors:
- id: binary_sensor_pin2
name: Binary sensor pin 2
- id: binary_sensor_pin3
name: Binary sensor pin 3
on_press:
...
The listed ``binary_sensors`` supports all options from :ref:`Binary Sensor <config-binary_sensor>` like
automations and filters.
Sensor
------
Sensors allows for reading the analog value of an analog pin, those are from ``A0`` to ``A7`` except for
``A4`` and ``A5``. The value returned goes from 0 to 1023 (the value returned by the arduino ``analogRead``
function).
Arduino analog inputs measures voltage. By default the sketch is configured to use the Arduino internal VREF
comparer setup to 1 volt, so voltages bigger are read as 1023. You can configure Arduino to compare the
voltage to VIN voltage, this voltage might be 5 volts or 3.3 volts, depending on how you are powering it. To
do so, pass an additional true value to the hub constructor:
.. code-block:: cpp
auto ape_component = new ArduinoPortExpander(i2c_component, 0x08, true);
To setup sensors, create a custom platform as below, list in braces all the sensors you want,
in the example below two sensors are declared on pin ``A1`` and ``A2``
Then declare the ESPHome reference of the sensor in the same order as declared in the lambda:
.. code-block:: yaml
sensor:
- platform: custom
lambda: |-
return {ape_analog_input(ape, 1), // 1 = A1
ape_analog_input(ape, 2)};
sensors:
- name: Analog A1
id: analog_a1
filters:
- throttle: 1s
- name: Analog A2
id: analog_a2
filters:
- throttle: 2s
The listed ``sensors`` supports all options from :ref:`Sensor <config-sensor>` like
automations and filters.
.. note::
Sensors are polled by default every loop cycle so it is recommended to use the ``throttle`` filter
to not flood the network.
Output
------
Arduinos binary outputs are supported in pins from 0 to 13.
To setup outputs, create a custom platform as below, list in braces all the outputs you want,
in the example below two outputs are declared on pin ``3`` and ``4``
.. code-block:: yaml
output:
- platform: custom
type: binary
lambda: |-
return {ape_binary_output(ape, 3),
ape_binary_output(ape, 4)};
outputs:
- id: output_pin_3
inverted: true
- id: output_pin_4
inverted: true
switch:
- platform: output
name: Switch pin 3
output: output_pin_3
light:
- platform: binary
name: Switch pin 4
output: output_pin_4
Full Example
------------
Let's connect a 4 channel relay board and 2 push buttons to toggle the relays, a PIR sensor, a window and a door
a LM35 temperature sensor and a voltage sensor. Seems a bit too much for an ESP8266? You'll still have some
spares I/Os.
.. code-block:: yaml
esphome:
name: test_arduino
platform: ESP8266
board: nodemcu
includes:
- arduino_port_expander.h
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_pass
api:
ota:
# define i2c device
# for an ESP8266 SDA is D2 and goes to Arduino's A4
# SCL is D1 and goes to Arduino's A5
i2c:
id: i2c_component
logger:
level: DEBUG
# define the port expander hub, here we define one with id 'expander1',
# but you can define many
custom_component:
- id: expander1
lambda: |-
auto expander = new ArduinoPortExpander(i2c_component, 0x08, true);
return {expander};
# define binary outputs, here we have 4, as the relays are inverse logic
# (a path to ground turns the relay ON), we defined the inverted: true
# option of ESPHome outputs.
output:
- platform: custom
type: binary
lambda: |-
return {ape_binary_output(expander1, 2),
ape_binary_output(expander1, 3),
ape_binary_output(expander1, 4),
ape_binary_output(expander1, 5)};
outputs:
- id: relay_1
inverted: true
- id: relay_2
inverted: true
- id: relay_3
inverted: true
- id: relay_4
inverted: true
# connect lights to the first 2 relays
light:
- platform: binary
id: ceiling_light
name: Ceiling light
output: relay_1
- platform: binary
id: room_light
name: Living room light
output: relay_2
# connect a fan to the third relay
fan:
- platform: binary
id: ceiling_fan
output: relay_3
name: Ceiling fan
# connect a pump to the 4th relay
switch:
- platform: output
name: Tank pump
id: tank_pump
output: relay_4
# define binary sensors, use the Arduino PIN number for digital pins and
# for analog use 14 for A0, 15 for A1 and so on...
binary_sensor:
- platform: custom
lambda: |-
return {ape_binary_sensor(expander1, 7),
ape_binary_sensor(expander1, 8),
ape_binary_sensor(expander1, 9),
ape_binary_sensor(expander1, 10),
ape_binary_sensor(expander1, 14) // 14 = A0
};
binary_sensors:
- id: push_button1
internal: true # don't show on HA
on_press:
- light.toggle: ceiling_light
- id: push_button2
internal: true # don't show on HA
on_press:
- light.toggle: room_light
- id: pir_sensor
name: Living PIR
device_class: motion
- id: window_reed_switch
name: Living Window
device_class: window
- id: garage_door
name: Garage garage
device_class: garage_door
# define analog sensors
sensor:
- platform: custom
lambda: |-
return {ape_analog_input(expander1, 1), // 1 = A1
ape_analog_input(expander1, 2)};
sensors:
- name: LM35 Living room temperature
id: lm35_temp
filters:
# update every 60s
- throttle: 60s
# LM35 outputs 0.01v per ºC, and 1023 means 3.3 volts
- lambda: return x * 330.0 / 1023.0;
- name: Analog A2
id: analog_a2
filters:
- throttle: 2s
See Also
--------
- :doc:`/devices/nodemcu_esp8266`
- :ghedit:`Edit`

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,196 @@
Zemismart LED RGBW Downlights
=============================
The Zemismart LED RGBW Downlight is a tuya based downlight available from various retailers online or from `zemismart.com <https://www.zemismart.com>`__ direct.
.. figure:: images/zemismart-rgbw-downlight.jpg
:align: center
:width: 50.0%
Originally intended to be used with their companion app once flashed using `tuya-convert <https://github.com/ct-Open-Source/tuya-convert>`__ ESPHome generated
firmware can be uploaded allowing you to control the smart plugs via Home Assistant.
1. Create the ESPHome Firmware
------------------------------
#. Refer to either :doc:`/guides/getting_started_command_line` or :doc:`/guides/getting_started_hassio` before moving onto the next step.
#. Select a plug configuration below based on the plug/s you have and copy all of the text in the code block and paste into your
``name_of_esphome_configuration.yaml`` file.
#. Compile the firmware, again depending on your chosen setup refer to the guides in the first point.
2. Flashing
-----------
2.1 Prerequisites
*****************
#. Before you begin you'll need one of the following linux machines running the latest copy of `Raspbian Stretch Lite
<https://www.raspberrypi.org/downloads/raspbian/>`__
a. Raspberry Pi 2B/B+ with `USB WiFi Dongle <https://www.raspberrypi.org/products/raspberry-pi-usb-wifi-dongle/>`__.
b. Raspberry Pi 3B/B+.
.. note::
As per the `tuya-convert documentation <https://github.com/ct-Open-Source/tuya-convert/blob/master/README.md#requirements>`__:
Any Linux with a Wifi adapter which can act as an Access Point should also work. Please note that we have tested the Raspberry Pi with clean installations
only. If you use your Raspberry Pi for anything else, we recommend using another SD card with a clean installation.
#. A microSD card (minimum 2GB, 8GB+ recommended).
#. Any WiFi device which can connect to the SSID generated by the Raspberry Pi and eventually the flashed tuya device. **This cannot be an iOS / Apple device.
Android devices will work.**
2.2 Installing the OS
*********************
#. It's recommended to read the documentation provided by the Raspberry Pi Foundation on the best way to flash the OS to the microSD card depending on your
platform - `Installing operating system images <https://www.raspberrypi.org/documentation/installation/installing-images/>`__.
#. After you've flashed the microSD card browse to the "boot" partition and add a blank file called "ssh" **(without any extension)** which will enable the
SSH server upon first boot, extended information on this step can be found `here
<https://www.raspberrypi.org/documentation/remote-access/ssh/README.md#3-enable-ssh-on-a-headless-raspberry-pi-add-file-to-sd-card-on-another-machine>`__.
#. Plug the microSD card into the Raspberry Pi, connect network cable and power, the Raspberry Pi will start to boot.
2.3 Connecting to the Pi via SSH
********************************
#. Download and install `Putty <https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html>`__.
#. Open Putty.
#. Enter the IP of Raspberry Pi in the box that says "Host Name", leaving the port set to 22 (default for SSH). A list of recommended ways can be found `here
<https://www.raspberrypi.org/documentation/remote-access/ip-address.md>`__, but the easiest is to download and use `Fing <https://www.fing.com/>`__
(`Android <https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en_GB>`__ / `iOS
<https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8>`__).
#. In the "Saved Sessions" input box, name the Raspberry Pi connection and then press "Save".
#. Select your new saved session from the list.
#. Press "Open".
2.4 Configuring the Pi
**********************
#. In the putty window login with the **pi** as the user and **raspberry** for the password.
#. Type ``sudo apt-get update && sudo apt-get dist-upgrade -y`` and wait for the upgrades to install.
#. Type ``sudo apt-get install git`` and wait for it to install.
2.5 Setup and Install tuya-convert
**********************************
#. In the putty window type ``git clone https://github.com/ct-Open-Source/tuya-convert`` press enter and wait while the repository is cloned.
#. Type ``cd tuya-convert`` and press enter.
#. Type ``./install_prereq.sh`` press enter and wait as the script gathers all the required components needed to function.
2.6 Upload ESPHome Firmware using SFTP
**************************************
#. Download `FileZilla <https://filezilla-project.org/download.php?type=client>`__ or `WinSCP <https://winscp.net/eng/index.php>`__ or use your preferred FTP
client.
#. Depending on the program you need to connect to the Pi using the IP address as the hostname and the username and password the same as you used to connect
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.
2.7 Use tuya-convert to install ESPHome Firmware
************************************************
#. Type ``./start_flash.sh``
#. Type ``yes`` to accept the warning.
#. Connect your alternative WiFi device (non iOS / Apple based) to the ``vtrust-flash`` SSID using ``flashmeifyoucan`` as the password. This is the network
being broadcast by the Pi from the tuya flash script.
#. If you haven't already plug your downlight into a powerpoint and turn it on and follow the instructions below:
#. Once turned on a stable white light will be emitted.
#. Switch off, then back on **3** times ensuring each off-on cycle is no longer 10 seconds apart and between each the light visibly turns off.
#. The light should have entered into a fast flashing state, if this is the case continue onto **Step 5** below. *Otherwise please turn the downlight off-on
within 3 minutes which will restore it back to a stable white light.*
#. Press enter on your putty window to start the flash process and wait. If the connection is successful you should see a large amount of scrolling text, this
is the script backing up the factory shipped firmware.
#. Once the process is complete you can type ``curl http://10.42.42.42/flashURL?url=http://10.42.42.1/files/firmware.bin``
#. The plug will restart and if everything is working correctly after a few seconds you should be able to press the button triggering the relay and turning the
blue led on.
3. Downlight Configuration
--------------------------
Thanks to `@1972rx2 <https://community.home-assistant.io/u/1972rx2>`__ for creating the below ESPHome configuration
which this cookbook article by `@cryptelli <https://community.home-assistant.io/u/cryptelli>`__ is based on.
3.1 Zemismart LED RGBW Downlight YAML
*************************************
.. code-block:: yaml
esphome:
name: downlight01
platform: ESP8266
board: esp01_1m
wifi:
ssid: "YOUR SSID"
password: "YOUR WIFI PASSWORD"
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
my9231:
data_pin: GPIO13
clock_pin: GPIO15
num_channels: 4
num_chips: 1
output:
- platform: my9231
id: output_blue
channel: 1
- platform: my9231
id: output_red
channel: 3
- platform: my9231
id: output_green
channel: 2
- platform: my9231
id: output_white
channel: 0
light:
- platform: rgbw
name: Downlight01
red: output_red
green: output_green
blue: output_blue
white: output_white
4. Adding to Home Assistant
---------------------------
You can now add your downlight to Home Assistant using the below instructions:
#. In the left hand sidebar, select **Configuration**.
#. Select **Integrations**
#. Click the **Orange** plus button *(lower right hand corner)* and look for **ESPHome** in the list of available integrations and select.
#. Type the host of the downlight, in most cases this is simply the IP address.
#. Leave the port set to the default of ``6053``.
#. Click **Submit**
If you've gotten this far, congratulations! Below is the card you should see inside Home Assistant which allows you to control the downlight.
.. figure:: images/zemismart-rgbw-downlight-homeassistant.jpg
:align: center
:width: 50.0%
See Also
--------
- :doc:`/components/light/index`
- :doc:`/components/light/rgbw`
- :doc:`/components/output/index`
- :doc:`/components/output/my9231`
- :ghedit:`Edit`

View File

@ -49,7 +49,7 @@ Note that in certain conditions you *can* use the pins marked as ``INTERNAL`` in
not be pulled low on startup. You can, however, still use them as output pins.
- ``A0``: This pin can be used as a normal GPIO pin (like ``D1`` etc) but additionally can measure
voltages from 0 to 1.0V using the :doc:`/components/sensor/adc`.
- ``VIN``: This pin can be used to use an external power supply with the board. Supply a voltage from
- ``VIN``: This board can be powered by an external power supply by using this pin. Supply a voltage between
3.3V to 12V to this pin and the linear voltage regulator on the board will power the board.
- ``ENABLE``/``RESET``: When these pins are triggered, the board resets. The difference between the pins
is how they can handle voltages above 3.3V.

View File

@ -355,6 +355,19 @@ Teckin SP20 (US)
See :doc:`/components/sensor/hlw8012` for measuring power.
Example config: `teckin_sp20_us.yaml <https://github.com/esphome/esphome-docs/blob/current/devices/teckin_sp20_us.yaml>`__
TorchStar LED Controller (Nov 2018)
-----------------------------------
.. pintable::
GPIO13, Button (inverted),
GPIO16, Blue LED (inverted),
GPIO4, Red LED (inverted),
GPIO14, Red Channel,
GPIO12, Green Channel,
GPIO5, Blue Channel,
GPIO15, White Channel,
See Also
--------

View File

@ -336,7 +336,7 @@ All Actions
- :ref:`delay <delay_action>`
- :ref:`lambda <lambda_action>`
- :ref:`if <if_action>` / :ref:`while <while_action>` / :ref:`wait_util <wait_until_action>`
- :ref:`if <if_action>` / :ref:`while <while_action>` / :ref:`wait_until <wait_until_action>`
- :ref:`component.update <component-update_action>`
- :ref:`script.execute <script-execute_action>` / :ref:`script.stop <script-stop_action>` / :ref:`script.wait <script-wait_action>`
- :ref:`logger.log <logger-log_action>`

View File

@ -559,7 +559,7 @@ Standard for the esphome-core codebase:
- function, method and variable names are ``lower_snake_case``
- class/struct/enum names should be ``UpperCamelCase``
- constants should be ``UPPER_SNAKE_CASE``
- fields should be ``protected`` and ``lowe_snake_case_with_trailing_underscore_`` (DO NOT use private)
- fields should be ``protected`` and ``lower_snake_case_with_trailing_underscore_`` (DO NOT use private)
- It's preferred to use long variable/function names over short and non-descriptive ones.
- All uses of class members and member functions should be prefixed with
``this->`` to distinguish them from global functions in code review.

View File

@ -177,6 +177,18 @@ To install the dev version of ESPHome:
The latest dev docs are here: `next.esphome.io <https://next.esphome.io/>`__
How do I use my Home Assistant secrets.yaml?
--------------------------------------------
If you want to keep all your secrets in one place, make a ``secrets.yaml`` file in the
esphome directory with these contents (so it pulls in the contents of your main Home Assistant
``secrets.yaml`` file from one directory higher):
.. code-block:: yaml
<<: !include ../secrets.yaml
Does ESPHome support [this device/feature]?
-------------------------------------------

1
images/arduino_logo.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" height="490" width="720"><path d="M174 30a145.545 140 0 0 0 0 280C364 320 344 30 544 30a145.545 140 0 0 1 0 280C354 320 374 30 174 30" fill="none" stroke="#00979c" stroke-width="60"/><g fill="#00979c" stroke="#00979c" stroke-width="20"><path d="M528.069 204.674v-32.78h-32.536v-13.7h32.536V125.66h13.862v32.536h32.536v13.699H541.93v32.78z"/></g><path d="M681.55 29.285V15.73h-5.155v-2.363h13.007v2.363h-5.195v13.555zm9.63 0V13.367h3.906l4.023 12.715 3.887-12.715h3.828v15.918h-2.422v-13.36l-4.101 13.36h-2.403l-4.277-13.555v13.555z" fill="#00979c" stroke="#00979c"/><g stroke-width="2.398" text-anchor="left" letter-spacing=".1em" fill="#00979c" stroke="#00979c"><path d="M83.276 494.845l-6.409-22.963H36.281l-6.586 22.963H7.978l34.444-116.329H73.04l34.445 116.33zM56.84 399.878l-15.309 54.114h30.44zM178.154 494.845l-16.376-37.382c-1.543-3.56-3.694-6.245-6.453-8.054-2.76-1.81-6.008-2.715-9.746-2.715h-4.183v48.151H119.5V378.516h33.911c6.408 0 12.223.55 17.445 1.647 5.222 1.098 9.672 2.922 13.35 5.474 3.68 2.551 6.513 5.874 8.5 9.968 1.988 4.095 2.982 9.109 2.982 15.042 0 4.272-.623 8.07-1.869 11.393-1.246 3.323-2.996 6.186-5.251 8.589-2.255 2.403-4.94 4.346-8.055 5.83-3.115 1.483-6.512 2.521-10.19 3.115 2.847.593 5.458 2.21 7.831 4.85 2.374 2.64 4.747 6.453 7.12 11.437l18.603 38.984zm-5.429-82.062c0-5.696-1.81-9.79-5.43-12.282-3.619-2.492-9.048-3.739-16.287-3.739h-9.612v32.843h8.9c3.382 0 6.453-.356 9.212-1.068 2.76-.712 5.118-1.78 7.076-3.204 1.958-1.424 3.471-3.19 4.54-5.296 1.067-2.106 1.601-4.524 1.601-7.254zM303.918 435.212c0 9.02-1.113 17.208-3.338 24.566-2.225 7.357-5.696 13.632-10.413 18.824-4.718 5.192-10.755 9.197-18.113 12.016-7.357 2.818-16.169 4.227-26.434 4.227h-29.55V378.516h34.445c8.9 0 16.689 1.113 23.364 3.338 6.675 2.225 12.238 5.652 16.688 10.28 4.45 4.628 7.788 10.503 10.013 17.623 2.225 7.12 3.338 15.606 3.338 25.455zm-23.497 1.424c0-6.29-.505-11.896-1.513-16.821-1.01-4.925-2.715-9.094-5.118-12.506-2.403-3.411-5.622-6.007-9.657-7.788-4.035-1.78-9.049-2.67-15.042-2.67h-11.125v79.66h9.612c10.74 0 18.899-3.205 24.476-9.613 5.578-6.408 8.367-16.496 8.367-30.262zM401.289 452.034c0 7.417-.994 13.93-2.982 19.537-1.987 5.607-4.836 10.28-8.544 14.018-3.709 3.738-8.233 6.557-13.573 8.455-5.34 1.9-11.334 2.849-17.98 2.849-7.476 0-13.884-.95-19.224-2.849-5.34-1.898-9.672-4.628-12.995-8.188-3.323-3.56-5.726-7.892-7.21-12.995-1.483-5.103-2.224-10.829-2.224-17.178v-77.167h21.895v75.832c0 3.917.34 7.388 1.023 10.414.683 3.026 1.87 5.592 3.56 7.699 1.692 2.106 3.813 3.693 6.364 4.762 2.552 1.068 5.756 1.602 9.613 1.602 3.62 0 6.675-.46 9.167-1.38 2.492-.92 4.57-2.403 6.23-4.45 1.662-2.047 2.908-4.673 3.739-7.877.83-3.204 1.246-7.09 1.246-11.66v-74.942h21.895zM422.561 396.406v-17.89h73.518v17.89h-25.633v80.371h25.633v18.068h-73.518v-18.068h25.633v-80.37zM575.471 494.845l-31.152-69.423-6.408-14.953v84.376h-19.937V378.516h26.88l31.774 69.869 5.607 13.618v-83.486h19.937v116.328zM706.93 436.191c0 10.562-1.23 19.67-3.693 27.325-2.462 7.654-5.845 13.944-10.146 18.869-4.302 4.925-9.346 8.574-15.131 10.947-5.786 2.374-11.971 3.56-18.558 3.56-15.308 0-26.82-5.088-34.533-15.264-7.714-10.176-11.571-24.966-11.571-44.369 0-10.561 1.231-19.67 3.694-27.324 2.462-7.654 5.844-13.944 10.146-18.869 4.302-4.925 9.346-8.574 15.131-10.948 5.785-2.373 11.971-3.56 18.557-3.56 15.31 0 26.82 5.074 34.534 15.22 7.714 10.147 11.57 24.951 11.57 44.413zm-23.14 1.068c0-13.766-1.84-24.03-5.519-30.795-3.679-6.764-9.73-10.147-18.157-10.147-4.213 0-7.802.876-10.77 2.626-2.966 1.75-5.414 4.317-7.342 7.699-1.928 3.382-3.338 7.55-4.228 12.505-.89 4.955-1.335 10.636-1.335 17.044 0 13.766 1.854 24.032 5.563 30.796 3.708 6.764 9.746 10.147 18.112 10.147 4.213 0 7.818-.876 10.814-2.626 2.997-1.75 5.445-4.317 7.343-7.699 1.9-3.382 3.293-7.55 4.184-12.505.89-4.955 1.335-10.636 1.335-17.045z" transform="scale(1.01716 .98313)"/></g><g fill="#00979c" stroke="#00979c" stroke-width="20"><path d="M321.418 266.309v-17.43h53.253v17.43z" transform="matrix(1.5646 0 0 .63914 -365.795 .528)" stroke-width="23.619"/></g></svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -326,6 +326,7 @@ Cookbook
.. imgtable::
Arduino Port Extender, cookbook/arduino_port_extender, arduino_logo.svg
Endstop Cover, cookbook/endstop-cover, window-open.svg
PIR Sensor, cookbook/pir, pir.jpg
Relay, cookbook/relay, relay.jpg
@ -340,6 +341,7 @@ Cookbook
Mirabella Genio Bulb, cookbook/mirabella-genio-bulb, cookbook-mirabella-genio-b22-rgbw.jpg
Garage Door, cookbook/garage-door, window-open.svg
Brilliant / Mirabella Genio Smart Plugs, cookbook/brilliant-mirabella-genio-smart-plugs, cookbook-brilliant-mirabella-genio-smart-plugs.jpg
Zemismart RGBW Downlights, cookbook/zemismart-rgbw-downlights, cookbook-zemismart-rgbw-downlight.jpg
Teckin SB50, cookbook/teckin_sb50, teckin_sb50.jpg
Do you have other awesome automations or cool setups? Please feel free to add them to the