Skip to content

Commit

Permalink
little corrections
Browse files Browse the repository at this point in the history
  • Loading branch information
j0ta29 committed Apr 1, 2023
1 parent 2b4fb18 commit 989ece6
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions components/optolink.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ Viessmann Optolink

The ``optolink`` platform allows you to integrate Viessmann® heating component in ESPHome.

Via an adapter cable parameters of the heating component can be read and partly also changed. The simplest version of the adapter cable consists of an IR diode, a phototransistor and two resistors, connected to serial port pins of the ESP.
Using an adapter cable you can read parameters of the heating component and also partly change them. The simplest version of the adapter cable consists of an IR diode, a phototransistor and two resistors, connected to the serial port pins of the ESP.

.. figure:: images/optolink_circuit.jpg
:align: center
:width: 66.0%

Viessmann® Optolink connection with adapter cable.

Once configured, you can add further :doc:`Sensors</components/sensor/index>`, :doc:`Binary Sensors</components/binary_sensor/index>` and :doc:`Text Sensors</components/text_sensor/index>` to monitor parameters of the heating component as well as :doc:`Switches</components/switch/index>`, :doc:`Numbers</components/number/index>` and :doc:`Selects</components/select/index>` to control the heating component.
Once configured, you can add further :doc:`Sensors</components/sensor/index>`, :doc:`Binary Sensors</components/binary_sensor/index>` and :doc:`Text Sensors</components/text_sensor/index>` to monitor parameters of the heating component. Moreover, you can add :doc:`Switches</components/switch/index>`, :doc:`Numbers</components/number/index>` and :doc:`Selects</components/select/index>` to control the heating component.

.. note::
The ``optolink`` platform is based on the great work of many people in the `OpenV project <https://github.com/openv/openv/wiki>`__ and the fantastic Arduino Library `VitoWiFi <https://github.com/bertmelis/VitoWiFi>`__ of Bert Melis.

Overview
--------

Viessmann® calls the parameters of the heating component datapoints. Each datapoint essentially consists of a 32-bit address, the number of bytes and optionally a value factor by which the read value must be divided. The datapoints supported by your heating component depends on the builtin Vitotronic controlling unit. `This page <https://github.com/openv/openv/wiki/Geräte>`__ on the OpenV Wiki shows the supported units, `this page <https://github.com/openv/openv/wiki/Adressen>`__ the supported datapoints for all units (unfortunatelly only in German language).
Viessmann® calls the parameters of the heating component datapoints. Each datapoint consists of a 32-bit address, the number of bytes, and optionally, a value factor by which the read value must be divided. The datapoints supported by your heating component depend on the built-in Vitotronic controlling unit. `This page <https://github.com/openv/openv/wiki/Geräte>`__ on the OpenV Wiki shows the supported units, `this page <https://github.com/openv/openv/wiki/Adressen>`__ the supported datapoints for all units (only in German language).

Configuration
-------------
Expand All @@ -44,8 +44,8 @@ Configuration variables:
- **rx_pin** (*Optional*, :ref:`Pin <config-pin>`, only ESP32): Receive pin
- **tx_pin** (*Optional*, :ref:`Pin <config-pin>`, only ESP32): Transmit pin
- **logger** (*Optional*, boolean): Enable this for more detailled log output. See *Troubleshooting*. Defaults to 'false'.
- **device_info** (*Optional*, string): If set to a not empty value, a :doc:`/components/text_sensor/index` with the variables name is created displaying information of your Vitotronic controlling unit. Defaults to an empty value.
- **state** (*Optional*, string): If set to a not empty value, a :doc:`/components/text_sensor/index` with the internal state of the component is created. Defaults to an empty value. See *Troubleshooting*.
- **device_info** (*Optional*, string): If set to a non-empty value, a :doc:`/components/text_sensor/index` with the variables name is created displaying information of your Vitotronic controlling unit. Defaults to an empty value.
- **state** (*Optional*, string): If set to a non-empty value, a :doc:`/components/text_sensor/index` with the internal state of the component is created. Defaults to an empty value. See *Troubleshooting*.

Sensors
*******
Expand Down Expand Up @@ -99,7 +99,7 @@ Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~
- **address** (**Required**, hexadecimal): Address of datapoint
- **bytes** (**Required**, int): Number of bytes of datapoint
- **raw** (*Optional*, boolean): If set to true, the bytes read are considered as raw characters. If set to false the bytes are treaded as a numerical value. Defaults to 'false'.
- **raw** (*Optional*, boolean): If set to true, the bytes read are considered as raw characters. If set to false the bytes are treated as a numerical value. Defaults to 'false'.
- All other options from :doc:`/components/text_sensor/index`

Numbers
Expand Down Expand Up @@ -180,18 +180,19 @@ The IR LED is working in a frequency band outside of your eye's perception. To s

Too many sensors
****************
If you configure a lot of sensors, numbers, switches or selects you could run out of memory, especially on ESP8266 controllers. Try to reduce unnecesary components like the :doc:`/components/web_server`. The :doc:`/components/debug` (which unfortunately itself is a component with significant memory footprint) can help to check free memory.
If you configure a large number of ``sensors``, ``numbers``, ``switches`` or ``selects`` you could run out of memory, especially on ESP8266 controllers. Try to avoid unnecesary components like the :doc:`/components/web_server`. The :doc:`/components/debug`, which unfortunately is itself a component with significant memory footprint, can help to check free memory.

Logging of communication
************************
If you configure the ``optolink`` platform with ``logger: true``, the communication with the heating component is written to the console (provided you have configured the :doc:`/components/logger` with level ``debug``).
If you configure the ``optolink`` platform with ``logger: true``, the communication with the heating component is written to the console - provided you have configured the :doc:`/components/logger` with level ``debug``.

Internal component state
************************
If something went wrong while initializing the component, the component tries to write information to ``state`` Text sensor. See *Configuration*.
If something went wrong while initializing the component, it tries to write information to ``state`` Text sensor. See *Configuration*.

See Also
--------

- `OpenV project <https://github.com/openv/openv/wiki>`__
- `VitoWiFi <https://github.com/bertmelis/VitoWiFi>`__
- :ghedit:`Edit`

0 comments on commit 989ece6

Please sign in to comment.