Closed gitMiguel closed 3 years ago
Hi,
this binding would work with OH2.2?
I put it into OH 2.2
openhab> bundle:list |grep -i vall
297 │ Active │ 80 │ 2.3.0.201803281813 │ Vallox Binding
But doesn't seen anything (in Paper UI) -> even in Add-ons -> Bindings there is no binding for vallox.
If I need to intstall OH2.3 I will try to do this in near future on other machine. I need my OH2.2 in production ;-)
Is this definition of thing is ok?
Thing vallox:ip:vallox "Vallox 096 SE" @ "Rekuperacja" [ tcpHost="127.0.0.1", tcpPort=1026, panelNumber=5 ]
Previously I used:
Thing vallox:kwl90se:vallox "Vallox 096 SE" @ "Rekuperacja" [ host="127.0.0.1", port=1026 ]
I use ser2net:
1026:raw:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT
Hi,
finally I got in working in OpenHab 2.2. I use IP mode. I can check tommorow the serial connection.
It's look that everything (which I use) is working, but I will test it.
Good to hear you got it running. What was the problem?
Regarding issue #2 I hopefully have a fix to push out soon.
Just pushed a new version of the binding. If you don't have any problems there's no need to update.
You have any news @Sprocket02?
I saw your comment in SuperOok's PR.
Hi,
sorry I should post it here. No news so far...
I see the binding in the Paper UI, but there is a problem with parsing the vallox.things file (openhab.log):
2018-04-13 20:21:56.485 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'vallox.things' has errors, therefore ignoring it: [1,7]: no viable alternative at input 'vallox' [1,14]: no viable alternative at input 'serial' [1,21]: no viable alternative at input 'main' [1,28]: no viable alternative at input 'serialPort' [1,55]: no viable alternative at input 'panelNumber' [1,67]: no viable alternative at input '5'
My vallox things file:
Thing vallox.serial.main [ serialPort="/dev/ttyUSB0", panelNumber=1 ]
In the Visual Studio Editor, I get an error message in the vallox.things file:
no viable alternative at input 'vallox' no viable alternative at input 'serial' no viable alternative at input 'main' no viable alternative at input 'serialPort' no viable alternative at input 'panelNumber' no viable alternative at input '1'
Has anybody an idea? I'm using openhab SNAPSHOT 2.3.0.
Try putting your thing definition "with double dots":
Thing vallox:serial:main [ serialPort="/dev/ttyUSB0", panelNumber=1 ]
Of course you can set this up through PaperUI also.
With double dots also does not work. The code editor set an error that he don't noch the vallox variable. In the Paper UI the I can set nothing.
Here a screenshot from the Paper UI:
Seems it's recognized properly. Have you tried adding the binding from left menu Configuration -> Things -> Click blue circle with "+" sign?
The configuration via Papier UI ist working, perfect!
That's good news! Are you using serial connection? Makes me wonder why you both had problems configuring through .things file. And you guys are absolutely sure it's not a typo or some other small mistake? Like having files in the wrong folder.
Do you @majherek and @Sprocket02 happen to have any humidity or Co2 sensors installed in your system? Channels for those items have calculations and bit operations that i'd really like to verify those are working.
Hi @Sprocket02,
you write in things:
Thing vallox.serial.main [ serialPort="/dev/ttyUSB0", panelNumber=1 ]
There should be ":" instead of ".".
Thing vallox:serial:main [ serialPort="/dev/ttyUSB0", panelNumber=1 ]
I use TCP connection because I use ser2net.
$ cat /etc/ser2net.conf
1026:raw:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT
My things file:
majherek@atom:~$ cat /etc/openhab2/things/vallox.things
//Thing vallox:kwl90se:vallox "Vallox 096 SE" @ "Rekuperacja" [ host="127.0.0.1", port=1026 ]
Thing vallox:ip:vallox "Vallox 096 SE" @ "Rekuperacja" [ tcpHost="127.0.0.1", tcpPort=1026, panelNumber=5 ]
//Thing vallox:serial:vallox "Vallox 096 SE" @ "Rekuperacja" [ serialPort="/dev/ttyUSB0", panelNumber=5 ]
I will try to use serial connection today or tommorow and I'll come back.
Hi @gitMiguel,
in my case problem was to find documentation ;-) When I find
https://github.com/gitMiguel/openhab2-addons/blob/%231559-vallox-binding-latest/addons/binding/org.openhab.binding.vallox/ESH-INF/thing/ipthing.xml
I create correct thing file and everything was ok.
I do not have any CO2 and humidity sensor connected to Vallox. I use other Humidity sensors and controls the recuperation with OH2 ;-)
Hello @majherek and @Sprocket02,
Are you still running my version? Had any problems?
I made some changes and a new build is available. I implemented restart function and now if there's connection problems the binding tries to reconnect once before it fails and goes offline. Caching has been improved also.
And I renamed the binding to Vallox SE org.openhab.binding.valloxse
I still using an old version 2.3 without any issues. But I will test your new version soon.
I'm testing google cloud services and now have automated builds of this binding. You can download the latest version from here.
Hi @gitMiguel , your addon seems to be really helpful for me! Although I am late to the party, would it be possible for you to make your latest release available again? I am not allowed to access your latest link (forbidden 403).
Cheers
Hi @hartmutlackner !
You are not late :) and you can download the latest build from here. I've stopped using GCS build system and forgot to update those download links. Eclipse Marketplace download should also work soon after changes are accepted.
Are you using this binding for the first time or were you just reinstalling? Any feedback is really appreciated!
you can download the latest build from here.
Thanks for you quick reply, I will try is in the evening!
Are you using this binding for the first time or were you just reinstalling?
I am a first time user. Although, I checked that at least some older version from SuperOok is installable in my 2.5M4 environment. Since this test was successful, I ordered two kinds of TCP-RS485 adapters. The first one should arrive today.
Hey @gitMiguel, your Addon worked out of the box. I copied your things, items and map files from your config and have only three attributes not working correctly. These are:
This makes no sense to me, since the syntax for all attributes appears to be correct. Also there are no errors in the openhab and events log-files. Maybe the reason is my model, which is a Vallox 90 SE? Nevertheless, I can control the fan speed remotely, which is the most important goal! Thank you very much!
Thanks @hartmutlackner for reporting your findings. They are valuable and I have seen similar problems in my setup. I'll try to arrange some spare time and address these problems.
Hi again @hartmutlackner ! I'll try to sort out your findings and give a status update.
- DamperMotorPosition: no value is reported at all, although "MAP(valloxindicator.map):0" was reported briefly once.
- LastErrorNumber prints this String: MAP(valloxalarm.map):0
Please try these without transformations and be sure to check that they are number channel. Looks like they are some old misconfiguration of mine and I haven't updated my backup repo in a while.
You can make your own transformation for DamperMotorPosition with this information: 0 = Winter, 1 = Summer
Service reminder prints: 4 kk
Please see the item definition:
Number Vallox_ServiceReminder "Huoltoväli [%d kk]" <settings>{channel="valloxse:ip:vallox:Maintenance#ServiceReminder" }
Here you can find where the "kk" comes from. In Finnish language it's abbreviation of "kuukausi" (=month) :). Please change it to your liking.
And now some status update of the binding. I've looked through the code once again and found some parts that have to be rewritten. Especially some of the latest parts I've added while chasing ghosts causes big time misbehavior in error situations. I've been working my way to upgrade this old binding to the new build system and looks like it's working now. I also switched from google to github builds. Hoping to get this done "soon". Can't make any promises because the lack of spare time. One thing is positive that the old binding somehow still works :) !
Thanks for investigating. I removed the transformations and made sure to have set the type to Number. Sometimes numbers are reported; sometimes only NULL. I did not figure out how to make this work consistently. While toying around, I noticed that "InputFanStopThreshold", "CellDefrostingThreshold", "SupplyFanOff", and "ExhaustFanOff" are not shown at all in the PaperUI Dashboard nor in Habmin. Also Visual Studio reports NULL for those 4 items at all times.
Regarding Vallox_ServiceReminder: Did you figure out the semantics for "month"?
Thanks for the info. I'll address those too.
Regarding Vallox_ServiceReminder: Did you figure out the semantics for "month"?
"x months until" service or "service is x months overdue" or "service in xth month of the year" or something else?
This is a setting for the time between services. There is a separate counter channel that tells you how many months until next service.
Hi @hartmutlackner , @majherek and @Sprocket02,
I've had somw time to work on this and got a bit further than expected. Partial rewrite and new version of the binding. Please see the following following links:
https://community.openhab.org/t/new-vallox-binding-wip/86425 https://github.com/openhab/openhab2-addons/pull/6459
/Miika
Perfect! I will test ist in the next few days.
I installed your new binding and now I a missing half of the channels, but many relevant channels are available. Having fault/error indicator channels would be great to report and identify problems quickly.
Otherwise, your addon works great.
Please enable debug or trace logging to see if there's internal problems or bugs. Post them here or send them to me. There's no need for separate error or warn channels when we have logging. Take a look at the LogReader binding. It might do what you want.
Are those missing channels linked? Are they linked but won't get updates? Please describe these problems more precisely.
Sorry, I meant error codes reported from the device itself, not errors from your addon.
The missing channels are not offered by the thing anymore. Basically I have fan control, temperatures, efficiencies, and some settings left. Before I also had channels like LastErrorNumber, DamperMotorPosition, and many more. Actually, I have not checked, whether there were channels for these before the latest update. I had just reused your configuration from your other repo here on github and 90% of the items worked out of the box.
All channels are still there. Thing type names have changed so my old textual config from github doesn't work as is. I have also made some minor corrections to channels but they shouldn't make a difference. For now it would be easiest to use PaperUI to configure your items. Or you can take channel definitions from there and copy to .items
file.
facepalm I missed the "show more" button on the thing's site in the PaperUI. All expected channels are present.
While tracing my error, I reinstalled the plugin. This time, I installed it from the marketplace for the first time and it worked like charm.
Hi, i've tried the new binding today, because I'm a little unhappy with the missing reconnect of the old SE-Binding. At the Moment I've some problems with several channels. Following channels show no values (the old SuperOok binding (modified) does):
My configuration: Vallox ValloPlus350SE with TCP-Bridge
I need logs to see what's happening in your system.
Please also provide info how did you set up the binding. Files or PaperUI? If files, then provide channel definitions. Are does all those channels show that they are linked?
How many CO2 sensors do you have installed? What does installed sensors channel show?
Sorry for the delay, but at the moment its difficult to get time for my OH. In the logs is the following to see: 2020-01-06 20:23:43.753 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-29-5F 2020-01-06 20:23:44.254 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A5-DB 2020-01-06 20:23:44.275 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {fanControl#fanSpeed=1} 2020-01-06 20:23:44.755 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A9-DF 2020-01-06 20:23:44.775 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {fanControl#fanSpeedMax=8} 2020-01-06 20:23:45.256 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-34-6A 2020-01-06 20:23:45.276 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {fanControl#fanSpeedMin=1} 2020-01-06 20:23:45.757 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-32-68 2020-01-06 20:23:45.778 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, temperature#tempInside=19, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:46.258 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-33-69 2020-01-06 20:23:46.278 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {temperature#tempOutside=4, Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:46.759 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-35-6B 2020-01-06 20:23:46.779 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {temperature#tempExhaust=8, Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:47.260 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A3-D9 2020-01-06 20:23:47.280 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, temperature#tempIncoming=19, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:47.545 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#postHeatingIndicator=OFF, setting#humidityAdjustState=ON, setting#cO2AdjustState=ON, setting#powerState=ON, setting#postHeatingState=ON, maintenance#filterGuardIndicator=OFF, alarm#faultIndicator=OFF, maintenance#serviceReminderIndicator=OFF} 2020-01-06 20:23:47.651 [DEBUG] [lox.internal.handler.ValloxSEHandler] - Suspending traffic while CO2 sensors are read 2020-01-06 20:23:48.667 [DEBUG] [lox.internal.handler.ValloxSEHandler] - Suspending traffic while CO2 sensors are read 2020-01-06 20:23:49.815 [DEBUG] [lox.internal.handler.ValloxSEHandler] - Resuming normal traffic 2020-01-06 20:23:49.921 [DEBUG] [lox.internal.handler.ValloxSEHandler] - Resuming normal traffic 2020-01-06 20:23:50.028 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#cO2High=2} 2020-01-06 20:23:50.135 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#cO2Low=80} 2020-01-06 20:23:50.241 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, temperature#tempIncoming=19, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:50.262 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A3-D9 2020-01-06 20:23:50.283 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, temperature#tempInside=19, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:50.348 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#postHeatingIndicator=OFF, setting#humidityAdjustState=ON, setting#cO2AdjustState=ON, setting#powerState=ON, setting#postHeatingState=ON, maintenance#filterGuardIndicator=OFF, alarm#faultIndicator=OFF, maintenance#serviceReminderIndicator=OFF} 2020-01-06 20:23:50.454 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {temperature#tempOutside=4, Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:50.560 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {temperature#tempExhaust=8, Efficiency#OutEfficiency=73.33333333333333, Efficiency#AverageEfficiency=86.66666666666666, Efficiency#InEfficiency=100.0} 2020-01-06 20:23:50.763 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A3-D9 2020-01-06 20:23:50.783 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#humidity=36.76470588235294} 2020-01-06 20:23:51.264 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-70-A6 2020-01-06 20:23:51.284 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#postHeatingIndicator=OFF, setting#humidityAdjustState=ON, setting#cO2AdjustState=ON, setting#powerState=ON, setting#postHeatingState=ON, maintenance#filterGuardIndicator=OFF, alarm#faultIndicator=OFF, maintenance#serviceReminderIndicator=OFF} 2020-01-06 20:23:51.765 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-2F-65 2020-01-06 20:23:51.785 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {setting#preHeatingState=OFF} 2020-01-06 20:23:51.988 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#humiditySensor1=36.76470588235294} 2020-01-06 20:23:52.266 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-30-66 2020-01-06 20:23:52.455 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#humiditySensor2=36.27450980392157} 2020-01-06 20:23:52.767 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A3-D9 2020-01-06 20:23:52.922 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#postHeatingIndicator=OFF, setting#humidityAdjustState=ON, setting#cO2AdjustState=ON, setting#powerState=ON, setting#postHeatingState=ON, maintenance#filterGuardIndicator=OFF, alarm#faultIndicator=OFF, maintenance#serviceReminderIndicator=OFF} 2020-01-06 20:23:53.267 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-A3-D9 2020-01-06 20:23:53.388 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {status#postHeatingIndicator=OFF, setting#humidityAdjustState=ON, setting#cO2AdjustState=ON, setting#powerState=ON, setting#postHeatingState=ON, maintenance#filterGuardIndicator=OFF, alarm#faultIndicator=OFF, maintenance#serviceReminderIndicator=OFF} 2020-01-06 20:23:53.768 [DEBUG] [ernal.connection.ValloxBaseConnector] - Wrote 01-24-11-00-36-6C 2020-01-06 20:23:53.855 [DEBUG] [ng.vallox.internal.telegram.Telegram] - Channels parsed from telegram {alarm#lastErrorNumber=0}
In the debug I see, that the correct values are read out, but the channels only show "-".
I set up the binding with files, here the configuration: Thing vallox:se-tcp:main "Vallox" [ tcpHost="192.168.2.47", tcpPort=26, panelNumber=4 ]
Group Vallox
Switch 1KWL_ServiceReminderIndicator "Service reminder" (Vallox) { channel="vallox:se-tcp:main:maintenance#serviceReminderIndicator" } Switch 1KWL_FaultIndicator "Fault indicator" (Vallox) { channel="vallox:se-tcp:main:alarm#faultIndicator" } Number 1KWL_LastErrorNumber "Last error number [%d]" (Vallox){ channel="vallox:se-tcp:main:alarm#lastErrorNumber" }
Number 1KWL_FanSpeed "Lüftung Stufe [%d]"
Yes in the PaperUi all channels are marked as linked. At the moment only one CO2Sensor is installed. The Channel in OH shows nothing, the old binding shows the correct ppm (calculated from upper and lower byte).
It looks like there is a problem between readout and linking to the discribed channels:
vallox:se-tcp:main:status#co2
vallox:se-tcp:main:setting#co2AdjustState
vallox:se-tcp:main:efficiency#outEfficiency
vallox:se-tcp:main:efficiency#averageEfficiency
Thanks. Nice to start debugging with proper info and logs.I'll look into this asap after my holidays.
Thank you very much. Have a nice holiday. So long I use the old binding, because since two weeks, the original controlling unit of my Vallox is damaged and I have no other possibility to monitor my KWL.
Hi, @flashy02
New build is ready. Hope it fixes all the bugs you found. The version is now 2.5.1-SNAPSHOT and it is build against the latest 2.5.x branch.
While using this binding I found out that one core is maxing out at 100%. Can you verify this? If you are using linux the easiest way might be with top
command.
Hi, @gitMiguel
that sounds nice. I would get it a try if you can tell me where I can get a precompiled *.jar. Because of the CPU-Usage, I've looked at my OH-Server and there the core runs at 6,3%. I don't know if it is necessary to define a Thing to evaluate your CPU-usage. At the moment your binding-version is still installed, but no thing is configured (because I'm using the "old"-binding).
I found the bug causing high CPU usage and it's fixed. Also another bug in the cache is now gone. Channels should be updating as usual.
Jenkins build is on running as we speak but here's a direct download link. I uploaded a copy to my server. http://lantee.arkku.net/files/org.openhab.binding.vallox-2.5.1-SNAPSHOT.jar
Wow, it looks good. Now I can see all values (which I use at the moment). I'll test it the next days/weekend and give you feedback. Thank you.
Hi, @gitMiguel,
is it possible to get the latest precompiled version?Yesterday I've updatet my OH to 2.5.5 Release Build with your 2.5.1 Snapshot Vallox-Binding. At the moment I've still to use a workaround because of problems by writing values (the KWL do not accept it everytime, so it is neccesary to send it several times). Normaly I'm switching between "automatic mode" using CO2 and Humidity Sensor or "manual mode" deactivating CO2 + humidity Sensor, for example if I turn on the AC (connected to the KWL), or if I turn on the cooker hood I want to raise up to ventilation level 8 (in automatic mode it would be reset to level 1 after some time). At the moment it is not possible to send commands directly behind each other, so I've to wait some time between these commands (at the moment I'm waiting 6s). Do you know this behaviour? Additionally the original "Headunit" is faulty, so I had to disconnect it some months ago. The only way to control my KWL at the moment is to use your binding and OpenHab.
Here's the latest build https://openhab.jfrog.io/openhab/libs-pullrequest-local/org/openhab/addons/bundles/org.openhab.binding.vallox/2.5.5-SNAPSHOT/org.openhab.binding.vallox-2.5.5-SNAPSHOT.jar
Can't say that I've seen that kind of behaviour. Please test with this latest version and let's continue then.
Sorry, but the link #1 post doesn't work.
Sorry I made a total copypaste error. The link is now fixed.
Thank you, I'll give it a try.
Hi, with the newest version one of my two connected devices does not work anymore. When I try to set the fan speed of the second device the following message appears:
2020-06-29 13:18:00.920 [hingStatusInfoChangedEvent] - 'vallox:se-serial:downstairs' changed from OFFLINE (COMMUNICATION_ERROR): Ack byte not received for telegram: 01-25-11-29-0F-6F to ONLINE
With the version from the market place everything is woring fine.
@Sprocket02, that means the connection was reset and the binding resumed to ONLINE state. After that the fan speed command should work. The question is what caused the connection to fail before that. Can you give me debug logs?
Hi, @Sprocket02 and @majherek
I made a fresh build of the binding. Find it here. Remember to change .zip to .jar.
Few things to mention.
Thanks for testing!