Giter VIP home page Giter VIP logo

vbus-arduino-library's Introduction

vbus-arduino-library

Library to allow your program to readout of VBus interface Protocol 1.0 by Arduino.

Goal:

Readout the Resol VBus interface on as many VBUS devices as possible while presenting a common api/librray

What does it do?

This sketch reads the VBus data and depending on the format of the controller decodes the data and puts it in variables.

Check examples folder

Created an example to share data from arduino to an esp8266 device with Tasmota firmware, must enable driver TasmotaClient https://tasmota.github.io/docs/TasmotaClient/ It is very useful to send an MQTT message via Wi-Fi to link with Domoticz, Node Red, etc ...

Controller support

Currently supports the following controllers:

  • Resol DeltaTherm FK (0x5611)
  • Oranier Aquacontrol III (0x5611)
  • Conergy DT5 (0x3271)
  • Joule / Resol Deltasol C (0x4212)
  • Deltasol M, also rebranded as Roth B/W Komfort (0x7311)
  • DeltaSol CS Plus (0x2211)

If it does not find any of the supported controllers, it will try to decode the first 2 frames which usually contain Temp 1 to 4.

Hardware:

  • VBus RX interface circuit. Gerber file attached will work if you're able to do SMT soldering.
  • Most arduinos with just one port. The Mega is supported also.

VBus is NOT RS485. So you need a specific converter circuit to make the VBus data readable for the Arduino UART. See f.i. Here.

AltSoftSerial library is used for the VBus module if not compiled for the arduino mega. Serial is used to debug the output to PC. Vbus serial works with 9600 Baudrate and 8N1.

Arduino Uno:

  • Serial input on pin 8 (RX)

Arduino Mega:

Serial on pins 0 (RX) and 1 (TX), Serial1 on pins 19 (RX) and 18 (TX), Serial2 on pins 17 (RX) and 16 (TX), Serial3 on pins 15 (RX) and 14 (TX).

My controller is not in the list, how can I add it?

Go to http://danielwippermann.github.io/resol-vbus/vbus-packets.html and find your controller. In the list you can see which information the controller sends. You need the controller ID and offset, bitsize and names of all the variables. Now use the examples for the DT5 and FK in VBusRead() to create a new entry for your own controller. This might be not that easy. Do not forget to properly declare your new variables too.

If you have tested it and it works, please add a Pull request so I can integrate your controller here.

Can the author add my controller?

No. First try it yourself. But if you fail, you can always ask.

Is this sketch the pinnacle of proper programming?

Not by any means, but it works. If you have any remark or improvement, let the author know.

Additional credits

Source code is based mainly on https://github.com/bbqkees/vbus-arduino-domoticz which in turn is based based on the VBus library from 'Willie' from the Mbed community.

Legal Notices

RESOL, VBus, VBus.net and others are trademarks or registered trademarks of RESOL - Elektronische Regelungen GmbH.

vbus-arduino-library's People

Contributors

fatbeard avatar void0 avatar alfredosola avatar lmsbrubaker avatar javier6d2 avatar per1234 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.