openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.86k stars 3.57k forks source link

[heliosventilation] Add Helios Ventilation Binding #5752

Closed ramack closed 4 years ago

ramack commented 5 years ago

I propose to add a new binding to connect ventilation systems from the supplier Helios to openhab via their RS485 based remote control interface.

There are variants (addon devices?) to add a modbus (RTU and TCP) interface to the ventilation system and a OH1 binding exists, but the proposal here is to attach openhab directly to the (non-modbus) RS485 interface.

I already started to play around and have something that listens to the data, but it would be interesting to connect to other users of such a ventilation system (KWL) to understand their needs and wishes and maybe join forces to create a binding.

Maybe @bern77 want to comment...

bern77 commented 5 years ago

Hi @ramack,

thanks for the interesting suggestion!

In my case the modbus TCP interface was part of the solution out-of-the-box (no addon device required). The current solution works quite well (at least for my personal demands).

My priority would be to migrate the OH1 binding to OH2, but can't really find the time for that at the moment. So, I'm afraid I won't be much help for your project here. Sorry...

ramack commented 5 years ago

thanks for the feedback @bern77, I know how it is with working on free software in the free time and especially if one has a working solution it is sometimes hard to work on an improvement :grinning:

What would help is:

  1. If you could describe your use case: which values do you read and write from OH to your Helios KWL?
  2. Tell a bit more about your "out-of-the-box" solution, especially also whether you have (or technically can attach) a remote control of type KWL-FB (9417) to your setup.
  3. for sure if you would have the time to give it a short try - I plan to publish a jar on the eclipse marketplace soon, so in case you have an USB-RS485 adapter it should be quite simple to give it a try
  4. help in coding and debugging

But I also fully understand if you don't have the time to investigate. Finally I create the binding because I personally want it. If you can't help it still will be of use for all who have the same or a similar case and even if you just can contribute an answer to 1. above it is already a big help.

bern77 commented 5 years ago

I'll try to help as best I can :)

1. Use Cases I usually don't interact with my KWL directly. It's controlled purely by OpenHAB scripts to set the fan stage or turn it off completely. The following scenarios are implemented (and over a period of 3 years I've not really seen demand for more...):

2. Out-of the-box Solution My KWL model is the "Helios KWL EC 500W L" with integrated "EasyControls" interface. This allows to use the Modbus TCP interface. The device itself also features an RJ10 connector for the pure RS485 version of the bus. This is where external devices (e.g. CO2 or VOC sensors, control panel, ...) would be connected. The list of accessories in the manual doesn't include the KWL-FB, but mentions KWL-BE, KWL-BEC and KWL-APG for manual control. Of course, also the KWL-KNX interface can be connected. As mentioned above, my approach was to avoid manual controls as far as possible - and to the minimal extent required, the control via OpenHAB is perfectly fine.

3. Testing Since my research upfront was a bit poor, I actually expected that I would have to integrate the KWL either via the KNX interface (approx. 300€) or via the RS485/modbus interface. So I have a cable with RJ10 plug already in place and have an (untested) USB-RS485 dongle I could use for testing... I'm happy to give it a shot :)

4. Coding and Debugging Help That's the part I'm not so sure about ;) As mentioned, I'm struggling to find the time to progress my own binding and at this point I'm not convinced that the RS485 based integration would be an improvement in my specific case. So I'd still prioritise my own binding... but maybe I'm just not seeing the benefits ;)

I hope that helps?

ramack commented 4 years ago

@bern77 thanks a lot for the details. This already helps a lot and shows, that I should care about the filter warning - somehow obvious, but I didn't have it in focus these days and I don't think I know the address so a little more reverse engineering will be needed.

About the error I wonder which are the cases that your system reports. - I never have seen anything like that since I have my ventilation system (8 years now)

All other cases you describe should be covered by the possibility to write the ventilator speed and the power switch, for those I think I am on track.

I plan to publish a jar soon, probably on eclipse marketplace, so it would be great if you could give it a try. - Which OS do you use to host your openhab server?

bern77 commented 4 years ago

Hi @ramack,

to be honest, I've not seen any error myself either in the 3.5 years of operation in my case...

I'm running openhab (as a Docker container) on a Ubuntu server 18.04.2 LTS.

DonSpain commented 4 years ago

Hello ramack. I have for some 18 years been working on creating an almost self-managing home. Spending an awful lot of money on KNX. Most of all related to heating, using a groundwater heat pump, lots of thermostats, shunt valve water temperature regulators, etc. It works very well. Without no intervention the last 5 years. 5 years ago I purchased a Helios KWL 370, with preheater and a KNX module. My understanding was that I should be able to control and give instructions to the KWL unit using my existing KNX sensors. I never god that far. Lately I have visited lots of pages like GitHub, Hackers, Openhab and similar, and found out there are a lot of people working on issues of my interest. When the house was new, I installed a Canadian ventilation system, with a rotation heat recovery unit. It worked very well, but totally manual. I live in Oslo, Norway, and in cold periods of the year, I used the recirculation ability very much. 20 min new outside air, and 40 min resirculation. No need for electrical preheating. The lack of smart-house ability made me change it for a Helios KWL. I have a modern house, with thick insulated walls, windows with halon gas, small window areas to the north, and large window areas to the south. Combined with smart outside vegetation that gives shadow in the summer and light and sun in the winter. My plan was that the ventilation system should interact with my heating system in a smart way. It obviously interacts, but very randomly. In the summer, the southern part of the house is heated up rather quickly, and if very hot, the bypass is turned in, but so far I have not been able to regulate the speed of the KWL. My aim is somehow to have a air-conditioning effect. In the winter, the problem is reversed: not to get rid of the heat, but conserve it. As I have no possibility to recirculated the air, my option is to use a stop-and-go strategy. Longer periods of turning the KWL off and than turn it on again. Very manual, even though I of course use the weekly program. I have now decided to purchase 2 units of the Helios FTF sensors (humidity and temperature) and one unit of the CO2 sensors. Targeting on getting more ventilation on demand from the use of bathrooms (moisture, humidity) and bedroom (sleeping emits Co2). However, I would very much like to use my large number of thermostats in different part of the house, perhaps in combination with a calculation program or logical program, add one or 2 CO2 sensors, and make a more complete management or instruction program , to fine tune the KWL to the outside and inside weather conditions. If I could use the 1-10V speed regulation of the rotors, I could lower the speed considerably without turning the KWL completely off. If the temperature difference between the north (relative: colder in the summer and warmer in the winter than the south) and the south part of the house to speed up the KWL to compensate. This is all about now wasting heat or not using to much money on electricity. Or better, to save as much kWh as possible. Apart from electricity driving the heat pump, I use very little, almost no electricity for heating the house. I am a bit curious: what kind of hardware are you using? Can you give me some examples? I am little by little getting comfortable with Raspberry Pi's and so on, but are there KNX units I could use as hardware for a custom management system? How do you see a combination of the Helios EasyControl and openHab solutions? Is it, or will it be possible to oversteer the EasyControl? I would be very happy to see some comments on this. Best regards to all

ramack commented 4 years ago

@DonSpain, thanks for your long comment. Even though I have an KWL with EC in the name, I don't have the easyconteol unit. I just use the small remote control which allows to set the fan speed. With the binding I am able to read and write the current fan speed and many of the settings (theoretical all, but I never investigated in the week/day/time settings as I would assume that if one uses openhab and the binding, then also a week program can be handled inside openhab).

Technically I think you would be well equiped with openhab and the HeliosBindn using the RemoteControl RS485 interface.

Additional sensors that can be attached to that bus like CO2 etc are currently not supported (I don't own such sensors) but I don't see a reason why it should be hard or impossible to add.

Also for KNX there seem to be bindings available, so I see no general problem to not use the input from KNX also in openhab. I don't have much experience with KNX, but I'd say it is more close to how an electrician sees the world, while in openhab many things are more seen from a programmers perspective. For sure you can successfully use OH without being a programmer, but it is quite different than KNX alone.

About HW I use only a simple RS485-USB interface to control the the ventilation system and to read the 4 temperatures.

Edit: Sorry I unintentionally pressed 'comment and close' before being dine

DonSpain commented 4 years ago

@ramack Sorry for making my comment so long, and thank you for taking the time to answer me. I think we differ pretty much in perspective, and i am still bewildered. Does the RS485-USB have processor capacities? Does it have an operating system and can it perform logical and mathematical operations? From what I understand, you are managing the KWL on a simple temperature-rotor speed variable. A function curve or a linear approach? I am trying to adapt to the world you so nicely comments as the programmers perspective, and I find it fascinating. Using ETS and KNX hardware is all the time working with units where engineers already have fixed the limitation and the purpose of the unit one works with. Making my Helios KWL work along the same line as my heating system is my goal. But air streams are different from water in tubes. Before I go further, the most important issue for me is to find out if the EasyControl can be over-ridden by instructions coming from the KNX bus, or the RS485-Modbus via some sort of Modbus server. You are just putting EC aside and establishing your own control system. I have to understand first how the EC works and hopefully find a way to interact with EC where more information available on the KNX bus can be of use. Any new hints?

ramack commented 4 years ago

A RS485-USB interface is just a electrical adaption to connect a computer (e. g. a RaspberryPi) to the RS485 bus. If you want to use the EC, the approach from @bern77 might work for you, who uses the modbus-TCP interface for the EasyControl connection. In both cases you would need a openhab server instance and the respective binding. Within openhab you can then do any kind of logic (using rules with timers, arithmetic operations and event) and logging/graphing/interfacing with a smart phone, etc. With that you will be able to control the ventilation system as you want!

If you want to go one of these two ways I think you should try to setup a openhab server and connect it to your KNX first - which will for sure require an interface for openhab to connect to the KNX...

bern77 commented 4 years ago

@DonSpain First of all, your smart home sounds really great, congratulations! I can only imagine the amount of time that must have gone into the implementation.

I don't think there is much to add to @ramack's comments with respect to the openHAB integration, via RS485 or via modbus-TCP.

Reading through the thread I just wanted to share two thoughts for possible alternative approaches:

KNX logic module The functionality is certainly very limited compared to a Linux box in the widest sense. But if some of the provided functionalities would serve the purpose, this would be an approach that stays in the KNX realm. I think most manufacturers have some kind of logic module in their offering. A quick search brought up e.g. the ones from MDT (SCN-LOG1.02) or ABB (ABB LM/S1.1).

Node-RED The programming paradigm of Node-RED (cf. https://nodered.org/) is probably closer to KNX than that of the rules in openHAB. But there must be a learning curve as well. To be honest, I stopped playing around with Node-RED quickly because I already was quite comfortable with openHAB and decided to stick to my guns... But it's maybe worth taking a look at this. I didn't find something in a quick search, but if there was a Helios KWL modus-TCP implementation as a Node-RED module, this would certainly be interesting.

DonSpain commented 4 years ago

@bern77 Hello Bern. Good to hear from you. I have viewed a lot of the comments you have made concerning ventilation on demand and Helios KWL. In fact, I have tried to get as much information around this as possible, but I am still considering my options. Of course, the easiest part is to purchase a logical unit KNX. But we are talking about several hundreds of Euros. So I am challenging myself to se if there is another path to get to the same goal. I have already looked into NODE-RED, and I have startet playing around with it. I already have one of the earlier versions of the ABB with with simple logic abilities, event 2 units, that is currently handling several hundred telegrams a day related to the heating system.

I am glad you shared your thoughts with me. I have recently installed a small 1wire temperature bus using RPI, with a i2c and a weinzierl Kberry board. I got outside help with the node.js. It seems to work well and I get constant reading regarding the performance of my energy well. So the next step would be to get ventilation related data from the KNX bus, work on them, and feed them back into the KNX bus. However, the problem is that the KWL-KNX helios unit, only has limited capacities in terms of instructing the Ventilation unit. But with 2 helios sensors installed, I will gradually find out how that system perform on its own, and perhaps get some advice from the technical staff of Helios.

I very much appreciate your comments and please feel free to make further comments. I will try to update on my work on this page.

DonSpain commented 4 years ago

@ramack Thank you Ralph. I now understand your hardware setup. I will follow your advice and do some experiments. As I explained to @bern77 I already have one RPI working with my KNX system, via the BAOS of Weinzierl. And some js magic. I will consult my russian friend to assess if we could expand this solution to also include node-red, or if we will go for a separate unit with full raspbian. These are the things that still troubles me, but I am learning, and it is a lot of fun. Tanks again