-
Notifications
You must be signed in to change notification settings - Fork 29
ESPHome Optolink
Die ESPHome-Plattform erlaubt es, sehr komfortable eine eigene Firmware für ESP8266 und ESP32 Microcontroller zu erstellen. Einmal eingerichtet, kann die Firmware dann im laufenden Betrieb über Wifi (OTA) aktualisiert werden.
Ein mit dieser Firmware ausgestatteter Microcontroller lässt sich danach sehr einfach in die Hausautomatisierung integrieren, insbesondere die Integration in Home Assistant funktioniert fast aufwandslos. Bei Bedarf kann über ESPHome ein eigener Web-Server in die Firmware integriert werden, so dass auch ohne Hausautomatisierung-Plattform die Ansteuerung möglich ist. Auch die Verbindung zu einem MQTT-Broker ist möglich (wurde von mir aber nicht getestet).
Der von mir verwendete Optolink-Adapter orientiert sich an den hier und hier vorgestellten Bauanleitungen. Da die IR-LED SFH487-2
quasi nicht mehr verfügbar ist, habe ich beim Elektronik-Händler meiner Wahl nach einer LED mit gleichem Frequenzband gesucht und bin mit der SIR 204 EVL
fündig geworden. Den in den beiden Bauanleitungen vorgeschlagenen Vorwiderstand von 180Ω habe ich durch 220Ω ersetzt. Erst versuchsweise, weil ich 180Ω gerade nicht zur Hand hatte, inzwischen dauerhaft, weil die Schaltung so seit einigen Monaten problemlos läuft.
Als Microcontroller habe ich einen Wemos D1 mini
mit externem Antennenanschluss gewählt um die Wifi-Strecke aus unserem Keller bis ins Obergeschoss problemlos zu überbrücken.
Für die Integration in ESPHome habe ich eine sogenannte Komponente entwickelt. Aktuell ist sie noch nicht Teil des offizielle ESPHome-Releases, ist aber schon als Pull Request verfügbar. Um den Software-Stand des Pull Request zu nutzen, müssen drei zusätzliche Zeilen in die ESPHome-Konfiguration mit aufgenommen werden:
external_components:
- source: github://pr#4453
components: [ optolink ]
Die Initialisierung der Optolink-Komponente erfolgt über:
optolink:
protocol: P300 # P300 oder KW
logger: enable # wenn später alles rund läuft, wieder entfernen
state: Status # wenn später alles rund läuft, wieder entfernen
device_info: Gerätekennung # dient zur Identifizierung der Vitotronic
Da der serielle Port UART0
zur Kommunikation mit der Optolink-Schnittstelle verwendet wird, muss beim Einsatz der logger
-Komponente deren Ausgabe auf UART1
umgeleitet werden oder ganz deaktivert werden. Unabhängig davon werden die Log-Ausgabe weiterhin im ESPHome-Frontend angezeigt, und auch in der optionalen web_server
-Komponente.
logger:
hardware_uart: UART1
level: DEBUG
logger:
hardware_uart: UART0
baud_rate: 0
level: DEBUG
Danach können beliebige Sensoren und Kontrollelemente konfiguriert werden. Beispiel:
sensor:
- platform: optolink
name: ${name} Kesseltemperatur
address: 0x0810
bytes: 2
div_ratio: 10
unit_of_measurement: °C
device_class: temperature
number:
- platform: optolink
name: ${name} Sollwert Raumtemperatur
unit_of_measurement: °C
address: 0x2306
bytes: 1
min_value: 3
max_value: 37
step: 1
mode: box
icon: "mdi:home-thermometer"
device_class: temperature
Die vollständige Beschreibung der Konfigurationsmöglichkeiten kann in der Dokumentation des Pull Requests nachgelesen werden.
Da der Code noch nicht Teil des offizielle Release von ESPHome ist, kann es zeitweise zu Fehler beim Compilieren der Firmware kommen. Bei Verwendung einer ESPHome-Version kleiner 2023.4 tritt der folgende Fehler auf:
In file included from src/esphome/components/optolink/optolink_sensor_base.cpp:3:
src/esphome/components/optolink/optolink_sensor_base.h:6:10: fatal error: esphome/core/string_ref.h: No such file or directory
#include "esphome/core/string_ref.h"
Abhilfe schafft hier vorerst nur der Wechsel auf eine ESPHome-Version ab 2023.4.
- Adapter Eigenbau
- Bauanleitung RS232
- Bauanleitung USB
- LAN/USB Kombiadapter
- Bauanleitung LAN-Ethernet
- Bauanleitung 3.3V TTL
- Weiterentwicklung 3.3V TTL + 3D Teile 🆕
- Bauanleitung LEGO™
- Bauanleitung Raspberry Pi
- Bauanleitung CAN
- Bauanleitung ESP8266
- Bauanleitung OptoPi
- openHab Integration
- Bauanleitung Hovilink
- Bauanleitung ESP32
- Bauanleitung USB-Duo/Sniffer
- Bauanleitung ESP32+Ethernet+PoE+HA 🆕
- Adressen
- Datenpunkt-Adressen
- Weitere Adressen
- Vito-Masterdateien
- Adressen Vitocal/WO1C
- Adressen Vitocal 200-S (Bj. 2018)
- InsideViessmannVitosoft🔗
- ViessData21
- v-control
- v-commDLL
- IpSymcon Interface
- RS232 Test / VitoTest
- voIdent
- VitoGraph
- Viess-Data, Viess-Data 2.0
- Vies-sion
- Windows "Daemon"
- vogod