things of heating systems

225 views
Skip to first unread message

Stefan Andres

unread,
Feb 27, 2015, 10:44:52 PM2/27/15
to open...@googlegroups.com
I want to implement a binding for Viessmann heating systems (binding.vitotronic).

I have some problems to define things and chanels.

For example:
The heating system has a thing "StorageTank" and the storage tank has the things "TemperatureSensor" or
the things "HeatingCircuit" has things "TemperatureSensor", "Pump", ....

My understanding of smarthome/openhab that it isn't posible to define things of things.

So i have 3 idea's:

   <thing-type id="StorageTank">
       
<label>Viessmann StorageTank</label>
       
<description>Water Storage Tank </description>

       
<channels>
           
<channel id="temperatureup" typeId="temperature"/>
           
<channel id="temperaturedown" typeId="temperature"/>
            ......
       
</channels>
   
</thing-type>

or

   <thing-type id="temperatursensor">
       
<label>Vitotronic Temperatur Sensor</label>
       
<description>Vitotronic Temperatur Sensor</description>

       
<channels>
           
<channel id="name" typeId="name"/> <!-- TemperatureUp -->
           
<channel id="component" typeId="name"/> <!-- StorageTank-->
           
<channel id="value" typeId="value"/>   <!-- Temperature Value -->
       
</channels>
   
</thing-type>

or

   <thing-type id="temperatursensor">
       
<label>Vitotronic Temperatur Sensor</label>
       
<description>Vitotronic Temperatur Sensor</description>

       
<channels>
           
<channel id="name" typeId="name"/> <!-- StorageTank.TemperatureUp -->
           
<channel id="value" typeId="value"/>   <!-- Temperature Value -->
       
</channels>
   
</thing-type>

My favorite is the last one, but I'am not sure if this is the best choice.
In the attachment my describtion file for my server impementation on the heating side.

Thank for help.

Regards Stefan.



optolink.xml

Jochen Hiller

unread,
Feb 28, 2015, 6:37:26 AM2/28/15
to open...@googlegroups.com
Hi Stefan,

On Sat, Feb 28, 2015 at 4:44 AM, Stefan Andres <sandr...@googlemail.com> wrote:
I want to implement a binding for Viessmann heating systems (binding.vitotronic).

great to hear you are working an such an integration. Unfortunately my Viessmann heating system at home is an older one...

 
I have some problems to define things and chanels.

For example:
The heating system has a thing "StorageTank" and the storage tank has the things "TemperatureSensor" or
the things "HeatingCircuit" has things "TemperatureSensor", "Pump", ....

My understanding of smarthome/openhab that it isn't posible to define things of things.

Yes, thats correct. Eclipse SmartHome supports defining things, and as a special type of thing a so name "bridge", where things can be linked to.
The concept behind things is to have a representative of the real world, so a "physical thing" will normally something which is also visible in real world.
 
At the end it is an approach to find a good representation of your real life heating environment.
I primarily looked into your attached XML file. This seems to be a very reasonable description of your world of things.
I can see:
  • Storagetank
  • Burner
  • Solar
  • Curcuits
  • Maybe the "heating" is the bridge to connect to these things?
Most of the telegrams defined in XML seems to be channels of these things, where you have later Items for 
  • StorageTank.temperature (NumberItem)
  • StorageTank.hotWaterPump (SwitchItem: on/off)
  • Burner.power (NumberItem)
  • Burner.status (StringItem with different status values)
  • ...
Some attributes looks more like configuration properties, like Curcuit.gradient, Curcuit.niveau, which you can add to a thing or even to a channel.
Ask yourself whether this will be configured once, or only on request, or it will change by usage over time, then it is better a channel linked to an item.

You mentioned also to model temperature up/temperature down as channels. This should be avoided as the channel would be temperature, and you can control up/down via command, e.g. via a DimmerItem with a given step level, set a new value as NumberItem, and internally handle that as up/down.

 
Thank for help.

I hope this can help you getting a good representation of your heating system.
 
Regards Stefan.

Bye, Jochen

Stefan Andres

unread,
Feb 28, 2015, 6:59:13 AM2/28/15
to open...@googlegroups.com
Hi Jochen,

thanks. I going to use the things as you proposed.

Node: temperatureup and temperaturedown is not a action. It is the position of the sensor in the storage tank.
I going to rename it: temperatureontop temperatureon bottem.

CU Stefan.

If your viessmann heating has a optolink adapter. I have implement the 300 and the KW protokol and i have a bilding-plan for the adapter hardware.

ge...@ge-volution.eu

unread,
Mar 2, 2015, 5:39:07 AM3/2/15
to open...@googlegroups.com
@Stefan - FYI the correct spelling (in English) is 'bottom'

Stefan Andres

unread,
Mar 3, 2015, 7:10:21 AM3/3/15
to open...@googlegroups.com
Thanks. Sorry my english is a little pur (I'am not nativ speaker ;-).

My adapter to optolink is ready for integration: https://github.com/steand/optolink

The optolink.xml syntax is changed. It supports things now.

I have start the implementation of openhab binding for vitotronic systems. -> I going to open a issue for this, soon.
My idea is, that i going to implement basic thing like temperature-sensor, pump, .. and also more complex things like circuit, storage tank, ...

The goal is, that the user can choice using basic things or complex one.

Michael Heckmann

unread,
Mar 5, 2015, 10:51:53 AM3/5/15
to open...@googlegroups.com
Hi Stefan,

that sounds really good. I have been waiting for a binding to OH as I'm using a Viessmann VITOLIG-300P heating systems.
Meanwhiel to get some values visualized I have written a small java program running on a raspberry pi (directly connected to the heating), which reads some data and sends it via MQTT to Openhab 1.x

So if you need some help or a person that tests, just raise your hand.

One of the main questions I have at the moment is, how to connect to the heating system from OH. My server is running on a VM which has no wired connection to the heating system. But the Optolink adapter will always be connected to USB.
Do you have any idea?

Does it make sense to implement also a Version for OH 1.x?

Keep up the good work,

Michael 

Stefan Andres

unread,
Mar 25, 2015, 12:43:23 PM3/25/15
to open...@googlegroups.com
Sorry Michael,

i was busy last time.

Thank for your help. Maybe you can test the solution soon.

I have finished the adaption application this week: https://github.com/steand/optolink
It works fine with my 300P and is now ready to bring it up to release level.

I have nearly finished the first version of the binding in openhab2.
It works in my environment. I can read all data and i have test write partymode, savemode, party-temp, room-temp.
I have some problems with the paper-UI: Somtimes it lost the things in control part, But i belive it a bug in Paper-UI (I wait for next release)
I will publish the binding in the next days an will concentrate on testing.

You Question:

 About connection:
I plan to use 2 Raspberry: One for optolink and one for openHAB. The reason is, that the distance to the heating system to my planed homeserver (OH + homegear) is to far.
But you can install both (OH2 and optolink)  an one Rasberry also.
If you like more understanding about the architekture see: https://github.com/steand/optolink/wiki/Architecture

I not use USB - i habe a self made adapter, directly connect on CPIO. (If you interested in, I can send you more informations)
My understanding of virtual maschien is, that you can map a device (like Serial, USB) to one guest (slice).
I thing you need a hypervisor type II for this. But if you distance to far you need same solution than me.

Implementation in OH:
I have not think about this. I not use OH (only a little playing with OH). My goal is OH2.
So i don't know what work i need for development.

What you can do, if you want:
1.) Feedback about the config file of optolink: optolink.xml (For discusions and changes please use the issues on Gitbub)
2.) Checking the Thing definition of openHAB2. (I will notice the publishing on this thread)
3,) Maybe help testing

Regards Stefan
Reply all
Reply to author
Forward
0 new messages