Arduino Library for ESP8266 to communicate with Viessmann boilers using a (DIY) serial optolink.
Based on the fantastic work on https://github.com/openv/openv/wiki. Check out this wiki for a simple hardware implementations
This library is non-blocking This also means that the use of blocking code is not supported. Since we're talking serial @4800 baud, we would be wasting precious processing time while reading and writing to the optolink. Furthermore this library is useable in async frameworks such as the marvellous Homie for ESP8266 framework.
- Platformio or Arduino for ESP8266
- a (DIY) serial optocoupler to connect your ESP8266 to your Viessmann boiler
- As this is an implementation of the P300 (aka VS2) and KW protocol, your boiler must be compatible with these protocols.
- For Arduino IDE: see the Arduino Guide
- For Platformio: see the Platfomio lib page for VitoWifi
A working example using Homie and my WifiPrinter can be found on my Github page.
Look into the examples to explore the functionality.
See USAGE for a more in detail explenation or look directly into the REFERENCE.
- improve/implement error handling
- integrate missing datapoint types and rearrange
I was using the original openv/vcontrold code from wikispaces on a Raspberry Pi V1. However, this setup was a bit overkill: such a powerful device doing only serial communication at 4800 baud. So I wanted to optimise this situation. An ESP8266 has built-in serial/UART communication and is obviously connectable via Wifi. The small form factor and power consumption were bonus points. Ever since it has been made compatible with the Arduino environment (or other way around), it is my Nr 1 choice for IoT applications.