steand / optolink

optolink adapter to vitotronic for openhab2
GNU Lesser General Public License v3.0
12 stars 19 forks source link

New Thing proposal: gasburner #1

Open stefanradike opened 8 years ago

stefanradike commented 8 years ago

Hi Stefan,

I am currently testing your Vitotronic Implementation for OpenHAB2 and it's great: Thanks for your work! Yet I do have a problem: I use a Vitodens 300 gas burner controlled by a Vitotronic 200. In your implementation, you have only created things for oilburners and pelletburners. Would you allow me to contribute the thing and channels for a gasburner? I would also like to share the setup file for my heating system to ease the setup for new users. Maybe in a far future, it would even be possible to automatically setup optolink depending on the Device-ID?

Regards and a happy new year, Stefan

FulvioSpelta commented 8 years ago

Hi All, I'm working on same confguration with a lot of effort due to the fact that a lot of documents are in German language. I've found this viessmann document that lists some commands: http://daten-kommunikation.viessmann.de/content/dam/internet-global/software-daten/vitogate_200_eib-daten2/vt200ho1abc_en.pdf

My circuit is a vitiden300W with boiler for hot water and 1 heating circuit without mixing valve.

I've built an optolink.xml full of commands grabbed from some vito.xml downloded but I've checked successfully a lot of them.

I'll be happy to share this work and contribute to a good configuration file. Let me know how you prefer to proceed. Have a noce day f

FulvioSpelta commented 8 years ago

This is current file. Excuse me about it is a bit confusing but I'm testing it with OH 1.7.1 so the thing structure isn't suitable for OH2 but all commands are ok.

optolink.zip

FulvioSpelta commented 8 years ago

Hi, just a last info: I've completed a mapping vs the information available through the vitodata Viessmann service as attached: 2016-01-03 08_21_34-clipboard 2016-01-03 08_17_54-viessmann anlagenmanagement

steand commented 8 years ago

Hi @stefanradike @FulvioSpelta,

happy new year too. Thanks for your work.

All new device and addresses are wellcome.

The best way to implement a gasburner is to define it in optolink and openhab2 together. I think if we use the device-id we got a complex implementation of the optolink software and a the xml-file. (eatch think must be link to eatch device-id)

Mybe we build for eatch system a owen optolink.xml like optolink-300p.xml optolink-vitodens_300.xml.... The user can link the optolink.xml to the optolink-.xml or copy the file.

A other way is to define all thinks in optolink.xml and the user must uncomment the right thinks.

Second. Openhab2 activate only thinks discovered from optolink. The thing discription must define in openhab2 already. If your have a definition of the gasburner I can take the definition to greate the think in openhab2.

What you think about this?

@FulvioSpelta: Thanks for the information about VITO EIB. I going to test the addresses again my heating system. Also i going to compare the EIB definition with the think definition in OH2. Your optolink.xml only works with OH1.7. At OH2 the optolink.xml must map to the OH2 thing definition of vitotronic https://github.com/openhab/openhab2/blob/master/addons/binding/org.openhab.binding.vitotronic/ESH-INF/thing/thing-types.xml. If you move to OH2, you must change the optolink.xml. But I think this is not a big change.

stefanradike commented 8 years ago

Hi @steand

you are absolutely right, it would surely be the best idea to have an optolink.xml for each device. I will integrate the config file from @FulvioSpelta and mine into a OH2 compatible version, if it's OK for you both.

I will also propose a definition for a gasburner Thing including the channels, for integration into the OH2 binding. Currently I am using the oilburner as a workaround.

@FulvioSpelta Great work, man. It must surely have been hard to translate the German instructions into Italian. I don't speak Italian, but I am happy to translate any manual into English. Have you considered upgrading to OH2? The thing discovery and channel view is really great!

EDIT: Found my mistake why items would not be created automatically (had PaperUI in Advanced Mode)

steand commented 8 years ago

Super @stefanradike please be free to make this definition. I believe that Kai acceped changes (Pull request) in OH2 only from me. If you want we (you) can open a issue in OH2 and we can diskuss the changes for thinks in this issue. Final I greate a pull request for all changes so that the definition goes into OH2.

At the moment I think about to redesign all thinks in OH2 so that the thinks are simular to the EIB implementation of viessmann: http://daten-kommunikation.viessmann.de/de/Produktinfos_rt_dk/vitogate-200-eib-info/vitogate-200-eib/Vitogate_200_Typ_EIB_ab_05_2012.html My first check says that the changes are minimal. Note: Clear that the addon addresses, we found, stay in the thinks as optional.

But all this takes a while. We got a new kitchen and this work has priority ;-)

FulvioSpelta commented 8 years ago

Hi all, i agree with your proposal to work in a realization of config files suitable for openhab2 usage. Now i'm using 1.7.1 because i've all my house automation is based on it and i'd like to wait for a "stable" edition and for the time to upgrade my knowledge before to start with OH2.

I need time because I've developed a very simple but effective html5/javascript layer to easily create simple dashboards like these attached and i need to understand how to migrate or substitute it in OH2.

I'll do the upgrade in the 2016 (I hope :-) )

About viessman, I'll wait for your work in order to group the items into "functional objects" or OH2 things, in the meanwhile i'll test the commands vs my implementation for validate it.

I share that my implementation is coded in viessman configuration as "00:02" type (1 boiler+1 circuit without mixing valve+hot water production). I've have external accessory EA1 and AM1. The first use 1 digital input as trigger to start heating and the second drive the hot water circulation pump. You can see the schema in the dashboard attached.

Currently they are almost all ok, I've some doubts only about few of them: i'll share asap a list with this info (sometimes simply i don't understand what the info is and sometimes, for example for Antifreeze condition, it seems not working at all (always ON).

Another task could be writing (in English) a better description about the information, some of them, I think, it's too short and probably understandable only by an viessmann technician :-)

image image

FulvioSpelta commented 8 years ago

Dear all, I kindly ask you for a support. I'm unable to get from my controller the information about the ice alarm. Using some datagram sources I've found these datagram that seems to be suitable for retrieving the info but neither is working properly (they are respectively always ON or OFF)

Datagram in optolink.xml form

<channel id="vieAntifreeze"><description>Antifreeze</description><telegram address="2500" type="boolean" /></channel>
<channel id="vieAntifreeze2"><description>Antifreeze</description><telegram address="27A4" type="boolean" /></channel>

image image image At the time of the hardcopy the ICE Alarm was true.

Do you know how to get this information ? Thanks a lot f

FulvioSpelta commented 8 years ago

I found this post that contains a link to a db with a full and well organized collection of datagrams: http://openv.wikispaces.com/share/view/62042248

I'm trying the suggested 2510 address that seems to be the unique datagram in bit mapped format. I'm trying to get it using byte type. I'll check it tonight during frost period.

Any hint will be appreciated f

FulvioSpelta commented 8 years ago

Just to share that the 2510 address always return 1.

FulvioSpelta commented 7 years ago

Hi all, no more work on this ? Thanks.

steand commented 7 years ago

Hi all, for me the software works fine. So i have no action on this software version. But I going on to suport changes, if necessary.

I am not able to support addresses of diffrent viessmann systems. I am not realy a specialist of heating systems. For discussions about viessmann the forum https://openv.wikispaces.com/ is the best place. I know it is in german but I didn't know a english forum.

Regarts Stefan.

FulvioSpelta commented 7 years ago

Hi Stefan, thanks for your feedback. I'm using your sw installed on a Raspberry B; i've written a mini client in node.js that use the native protocol in order to get the values and then update OH 1 using http post. It is running fine for months. Thanks again for developing it.

olivimo commented 7 years ago

Thanks a lot @steand for sharing this work: it really helps me to develop my own program in Python to communicate with my vitoligno 300-p. @FulvioSpelta in my vitotronic 200 FO1 the address you mention 27A4 can not be seen as an ice alarm: it is a parameter that can be set to protect installation against ice or not 27A4=0 => protection is set 27A4=1 => no protection if 27A3 is set to -9

FulvioSpelta commented 7 years ago

@olivimo Thanks a lot for your note. I share some information that maybe you can understand better than me :-)

I've found the application Viess_Data in the openv forum (http://openv.wikispaces.com/) that is able to give me the info (checked with alarm on and off): image

and it shows that the info is from: image

but using the @steand program i'm nopt able to correctly get it. I kindly ask if it is possible to read this kind of information and how to configure the xml. Thanks a lot

olivimo commented 7 years ago

@FulvioSpelta I am sorry that I can not help your more about this since I am not using the @steand program. I can't use the wiessdata software (no microsoft at home) but what I've found strange is the 22 length ..?

GigaMem commented 4 years ago

Hello Gentlemen, thanks a lot for sharing all this information! Without this page I still would not be able to get the optolink running in Openhab 2 ...

I have a Vitodens 300W, so Fulvio's configuration file saved my life :-)

There's just one issue left: The channels shown in PaperUI are still the predefined ones and not the channels from the XML file. I found a notice that I have to "activate" the missing channels.

Does anyone have a hint for me how to do this?

Thanks a lot, Matthias

codefalk commented 1 year ago

There's just one issue left: The channels shown in PaperUI are still the predefined ones and not the channels from the XML file. I found a notice that I have to "activate" the missing channels.

it's been a while ... however, I am also struggling with mapping the channels in OH (3.4.M5) to the changes made in optolink.xml. Any hint is very much appreciated.

GigaMem commented 1 year ago

Unfortunately I am not at home right now, but I can send my configuration as an example on sunday.

codefalk commented 1 year ago

okay, great! Looking forward. However, I am specifically looking for the OH configuration and the specific changes I need to make in order to receive channel-data. My optolink.xml should be under control ... thanks to @FulvioSpelta.

GigaMem commented 1 year ago

Hi, I guess the "trick" is to name the items' channels names exactly like the item in the optolink.xml file. For my Vitodens 300W the configs look like below (although I must admit that perhaps some of the Vito addresses seem not to work for me):

optolink.xml:


<?xml version="1.0" encoding="UTF-8"?>

VITODENS /dev/ttyUSB0 2000 31113 Viessmann Vitodens 300 Outside temperature lowpass Boiler Temperature System Date and Time Error Status burner control unit Viessmann Vitodens 300 Exhaust_gas Temperature current performance (0..100%) Viessmann Vitodens 300 Burner starts Gas Consumption Party mode Saving mode Flow Temperature Operating mode Heating curve slope Heating curve level Target room temperature Reduced operation Target room temperature Party mode Target room temperature normal operation Room temperature A1M1 lowpass

Itemlist Openhab:


// Kernsystem DateTime Vie_DateTime "Datum und Zeit" {channel="vitotronic:heating:Vitodens:Vitodens_Kernsystem:systemtime"}
Number Vie_Aussentemperatur "Außentemperatur" {channel="vitotronic:heating:Vitodens:Vitodens_Kernsystem:outside_temp"}
Number Vie_Boilertemperatur "Boilertemperatur" {channel="vitotronic:heating:Vitodens:Vitodens_Kernsystem:boiler_temp"}
Switch Vie_Fehlfunktion "Fehlfunktion" {channel="vitotronic:heating:Vitodens:Vitodens_Kernsystem:malfunction"}

// Gasbrenner Number Vie_PowerLevel "Powerlevel" {channel="vitotronic:gasburner:Vitodens:Vitodens_Gasbrenner:powerlevel"}
Number Vie_Abgastemperatur "Abgasrtemperatur" {channel="vitotronic:gasburner:Vitodens:Vitodens_Gasbrenner:exhaust_temp"}

//Gasbrenner 2 Number Vie_Starts "Brennerstarts" {channel="vitotronic:oilburner:Vitodens:Vitodens_Gasbrenner_2:starts"}
Number Vie_Verbrauch "Gasverbrauch" {channel="vitotronic:oilburner:Vitodens:Vitodens_Gasbrenner_2:consumedoil"}

//Regelung Switch Vie_PartyModus "Partymodus" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:partymode"}
Switch Vie_Sparmodus "Sparmodus" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:savemode"}
Number Vie_Kesseltemperatur "Kesseltemperatur" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:flowtemperature"}
Number Vie_Betriebsmodus "Betriebsmodus" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:operationmode"}
Number Vie_GradientHeizkurve "Gradient der Heizkurve" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:gradient"}
Number Vie_Niveauheizkurve "Niveau der Heizkurve" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:niveau"}

Number Vie_Solltemperatur "Solltemperatur" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:room_temp_setpoint"}
Number Vie_Solltemperatur_Party "Solltemperatur Partymodus" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:party_temp_setpoint"}
Number Vie_Solltemperatur_Eco "Solltemperatur Ecomodus" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:save_temp_setpoint"}

Number Vie_Raumtemperatur "Raumtemperatur" {channel="vitotronic:circuit:Vitodens:Vitodens_Regelung:room_temp"}


I hope that helps. Matthias

codefalk commented 1 year ago

I guess the "trick" is to name the items' channels names exactly like the item in the optolink.xml file.

Thanks @GigaMem for providing the configuration! That helps! I did a quick check but that didn't succeed. I will check again and will come back with the results ...

codefalk commented 1 year ago

@GigaMem , thanks again for the configs. After having looked into it, I think my problem is 2 fold:

  1. I don't get any decent value for "Gas Consumption". It is always 0. Do you experience the same?

  2. I want to add 2 new channels which are "Antifreeze" and "HK-Pump Setpoint frost protection in degrees" from @FulvioSpelta optolink.xml. These channels are never been queried by openhab (as it shows when I run optolink in debug-mode). Reason may be that these channels are simply not implemented with the binding. Therefore the only option I see to add more channels that are not implemented in the binding is to add more things (like e.g. "Heizkreislauf2") and "misuse" the existing channels by mapping them to other addresses in the optolink.xml.

Did I miss anything or is there an easier way to add more channels?

GigaMem commented 1 year ago

Hi codefalk, 1) This value doesn't work for me either 2) Adding a new channel should not be a problem. The structure of my examples (several devices etc.) is chosen completely to my needs, not because the binding or the optolink daemon requires it. The binding itself does not have channels with fixed names or any other limitations - or at least I did not find any. The channel definition comes directly from the optolink.xml. Thats why the item has to use the same names to refer it.

It should be possible to add another channel tag to the optolink.xml and then create an item refering to that channel.