Sorry for taking up this old thread again, but for me the underlying question reg. CCEASE is still unclear.
As I now more close to the finishing of the implementation, I would like to ask you about the CCEASE stuff. When I tested my setup over the weekend I saw that CCEASE reported a COMM Error. For me this meant that the dataflow from OH2 to Comfoair was basically working. But I was too long not working with OH and the different config options so need to get familiar with it again.
Anyway, If I would like to keep CC-EASE as is and run it in parallel to OH2 (reading) what would I need to setup concretly?
What do you Need the CCEASE for anyways? I installed a simple switch for the CCEASE - so if I Need it I can switch it on. Otherwise the Setup will run in Errors as the Comfoair will get confused.
@smhaller at first I thought about keeping the CCEASE running in parallel also. But the only advantage compared to the native binding control is in my view the ability to switch on / off incoming & outgoing air. So I skipped this feature and found out that turning ventilation into absence mode serves the purpose.
I used a setup with SOCAT / SER2NET and the CCEASE had to be disconnected. Otherwise I got quiet regular errors.
What would be your use case to keep the CCEASE in parallel to openHAB control?
As my CCEASE is in the basement, which is anyway annoying. According Zehnder documentation this should normally be placed in the Living area. This is for me the reason to keep it running, if possible. If not I have no doubts to take it off as written in reply to Thomas.
For all who are still using Comfoair and are still control it by your PC, you may be interested in expended binding.comfoair: https://github.com/gieemek/ComfoAir_Binding_modified
I expanded the original binding.comfoair by Holger Hees and I added a lot of read and write commands to it, so you can control Comfoair in the same range as by CC Ease or by CC Luxe.
Examples are also included there.
Cheers, Grzegorz.
Nice work but some things are not working filter time and fire program i am not getting any readings from ?Also messages =NULL any idea what the problem could be?
I understand that you don’t have readings in site map, not in items.
“Fire program” in site map simply shows the comfoairChimneyMode item state - this should work. Try to check the item state (eg. in Rest API) and check what state do you have in menu 90 in your CC Ease. Their values should be the same.
“Message” and “Filter time” strings are build in rules - maybe I made some mistakes in this rules. Try to change the site map: in line 3 (comfoairError_Message -> comfoairError), and in line 27 (comfoairFilterRuntime_Message -> comfoairFilterRuntime). These should show the values as from the original comfoair binding (by Holger Hees).
Do you have any error messages in Karaf console ? or in log file ?
Text item=comfoairError labelcolor=[!="OK"="red"] valuecolor=[!="OK"="red"]
But this error shows in the logs
2019-01-16 11:07:57.301 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread ComfoAir Refresh Service
java.lang.ArrayIndexOutOfBoundsException: 10
at org.openhab.binding.comfoair.datatypes.DataTypeNumber.convertToState(DataTypeNumber.java:37) ~[?:?]
at org.openhab.binding.comfoair.internal.ComfoAirBinding.sendCommand(ComfoAirBinding.java:218) ~[?:?]
at org.openhab.binding.comfoair.internal.ComfoAirBinding.execute(ComfoAirBinding.java:145) ~[?:?]
at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:144) ~[198:org.openhab.core.compat1x:2.4.0]
at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:166) [198:org.openhab.core.compat1x:2.4.0]
Can you run debug log to find what determinates this error, please.
If everything working after your changes it means that comfoair binding is working good, and your earlier problems were related with rules, so I must check them ones again. It’s a pity, because the messages on the site display not only errors, but also information related to the work of comfoair.
One more question: have you copied the script file to openhab script folder too ? These files are necessary for rules working.
Data block should have 11 bytes (acc. to the protocol), but as you can see it has only 10 bytes. I’m afraid your comfoair uses a little different protocol.
11th bytes is reading by is_ewt command. So comment (or delete) the item comfoairEWT in comfoair.items file which uses command is_ewt - you would not be able to read state of EWT, but you would not have errors.
I will try do add some blokade to the code.
What type of comfoair do you have ? (mine is: Zehnder Comfoair 350 installed in 2009)
Give me information is comment the comfoairEWT item helps.
Protocol for Comfoair 550 is not available so I can not give you precise advice.
Did you try to change supply and exhaust mode ? I am very interesting is it work for you. This mode is control by rules.
binding errors: for changing the binding code I need some time - I will try to do it in weekend.
supply / exhaust mode: you need to know:
my supply/exhaust mode doesn’t work in absent state (level A). Comfoair should be on level 1, 2 or 3. This mode uses level A to modify fan speed. That’s why there is no switch for level A in my site map.
Change the supply/exhaust mode not faster then 2 s - comfoair need some time for reaction.
If supply/exhaust mode still doesn’t work on level 1 - 3 for you, try to change rules listed below in comfoair.rules file (I have simplify them):
rule "changeSupply-Exhaust"
when
Item comfoairFanMode_Message changed
then
var Number newFanMode = comfoairFanMode_Message.state as DecimalType
if( comfoairControl.state == 1 ) {
if( comfoairFanMode_Message.state != comfoairFanMode.state ) {
comfoairFanMode.sendCommand( newFanMode )
logInfo( "ComfoAir", "Try to change supply/exhaust mode" )
}
}
end
rule "changeSupply-ExhaustMode"
when
Item comfoairFanMode changed
then
if( comfoairControl.state instanceof Number ) {
if( comfoairFanMode.state instanceof Number ) {
if( comfoairFanLevel.state > 1 ) {
logInfo( "ComfoAir", "Fan level is OK" )
comfoairFanLevelLastValue = comfoairFanLevel.state
Thread::sleep( 100 )
comfoairFanIn0LastValue = comfoairIncomingFan.state
comfoairFanOut0LastValue = comfoairOutgoingFan.state
}
// Supply + Exhaust
if( comfoairFanMode.state == 0 ) {
logInfo( "ComfoAir", "Supply/Exhaust mode was changed to both" )
if( comfoairIncomingFan.state == 0 || comfoairOutgoingFan.state == 0 ) {
comfoairFanIn0.sendCommand( comfoairFanIn0BaseValue )
createTimer(now.plusSeconds( 1 ), [ |
comfoairFanOut0.sendCommand( comfoairFanOut0BaseValue )
])
if (comfoairFanLevel.state < 2) {
logInfo( "ComfoAir", "Comfoair level was returned to last state" )
comfoairFanLevel.sendCommand( comfoairFanLevelLastValue.toString )
}
}
} else {
comfoairFanLevel.sendCommand( "1" )
logInfo( "ComfoAir", "Comfoair level was changed to level A" )
// Supply
if( comfoairFanMode.state == 1 ) {
logInfo( "ComfoAir", "Supply/Exhaust mode was changed to supply" )
if( comfoairIncomingFan.state == 0 ) {
comfoairFanIn0.sendCommand( comfoairFanIn0LastValue )
logInfo( "ComfoAir", "Incomming fan has returned to last value" )
} else {
comfoairFanIn0.sendCommand( comfoairIncomingFan.state )
logInfo( "ComfoAir", "Incomming fan has changed to new value" )
}
createTimer( now.plusSeconds( 1 ), [ | comfoairFanOut0.sendCommand( 0 ) ])
logInfo( "ComfoAir", "Incomming fan has changed to 0" )
}
// Exhaust
if( comfoairFanMode.state == 2 ) {
logInfo( "ComfoAir", "Supply/Exhaust mode was changed to exhaust" )
comfoairFanIn0.sendCommand( 0 )
logInfo( "ComfoAir", "Incomming fan has changed to 0" )
createTimer(now.plusSeconds( 1 ), [ |
if( comfoairOutgoingFan.state == 0 ) {
comfoairFanOut0.sendCommand( comfoairFanOut0LastValue )
logInfo( "ComfoAir", "Outgoing fan has returned to last value" )
} else {
comfoairFanOut0.sendCommand( comfoairOutgoingFan.state )
logInfo( "ComfoAir", "Outgoing fan has changed to new value" )
}
])
}
}
}
}
end
If you use "Fire program", you need to switch it off. And don’t use chimney (if you have) when you use supply/exhaust mode - it is dangerous. In this new rules I have removed the blockade for “Fire program”.
I hope you will be successfull. If not, please send me your log.
I tried the new rules and comment out chimney items.
It is still not working i have this log there seems to be something wrong with the rule’s i hope you can see something
2019-01-18 18:03:00.024 [INFO ] [ipse.smarthome.model.script.comfoair] - ComfoAir - MANUAL Mode
2019-01-18 18:03:05.811 [ome.event.ItemCommandEvent] - Item 'comfoairFanMode_Message' received command 2
2019-01-18 18:03:05.819 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Try to change supply/exhaust mode
2019-01-18 18:03:05.823 [vent.ItemStateChangedEvent] - comfoairFanMode_Message changed from 0 to 2
2019-01-18 18:03:05.824 [ome.event.ItemCommandEvent] - Item 'comfoairFanMode' received command 2
2019-01-18 18:03:05.829 [vent.ItemStateChangedEvent] - comfoairFanMode changed from 0 to 2
2019-01-18 18:03:05.831 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Fan level is OK
2019-01-18 18:03:05.938 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel' received command 1
2019-01-18 18:03:05.937 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Comfoair level was changed to level A
2019-01-18 18:03:05.945 [vent.ItemStateChangedEvent] - comfoairFanLevel changed from 2 to 1
2019-01-18 18:03:05.946 [vent.ItemStateChangedEvent] - comfoairFanLevel_Message changed from 2 to 1
2019-01-18 18:03:05.944 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Supply/Exhaust mode was changed to exhaust
2019-01-18 18:03:05.951 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'changeSupply-ExhaustMode': The name 'comfoairFanIn0' cannot be resolved to an item or type; line 324, column 6, length 14
2019-01-18 18:03:09.357 [vent.ItemStateChangedEvent] - comfoairIncomingFan changed from 20 to 15
2019-01-18 18:03:09.359 [vent.ItemStateChangedEvent] - comfoairOutgoingFan changed from 20 to 15
2019-01-18 18:03:11.391 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel_Message' received command 3
2019-01-18 18:03:11.396 [vent.ItemStateChangedEvent] - comfoairFanLevel_Message changed from 1 to 3
2019-01-18 18:03:11.399 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel' received command 3
2019-01-18 18:03:11.401 [vent.ItemStateChangedEvent] - comfoairFanLevel changed from 1 to 3
2019-01-18 18:03:11.406 [vent.ItemStateChangedEvent] - comfoairFanMode changed from 2 to 0
2019-01-18 18:03:11.411 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Fan level is OK
2019-01-18 18:03:11.515 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Supply/Exhaust mode was changed to both
2019-01-18 18:03:14.814 [vent.ItemStateChangedEvent] - comfoairIncomingFan changed from 15 to 40
2019-01-18 18:03:14.815 [vent.ItemStateChangedEvent] - comfoairOutgoingFan changed from 15 to 40
2019-01-18 18:03:51.736 [vent.ItemStateChangedEvent] - comfoairOutdoorOutgoingTemperature changed from 9.0 to 9.5
2019-01-18 18:04:00.027 [INFO ] [ipse.smarthome.model.script.comfoair] - ComfoAir - MANUAL Mode
2019-01-18 18:04:34.044 [ome.event.ItemCommandEvent] - Item 'comfoairFanMode_Message' received command 1
2019-01-18 18:04:34.046 [vent.ItemStateChangedEvent] - comfoairFanMode_Message changed from 2 to 1
2019-01-18 18:04:34.051 [ome.event.ItemCommandEvent] - Item 'comfoairFanMode' received command 1
2019-01-18 18:04:34.058 [vent.ItemStateChangedEvent] - comfoairFanMode changed from 0 to 1
2019-01-18 18:04:34.059 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Try to change supply/exhaust mode
2019-01-18 18:04:34.063 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Fan level is OK
2019-01-18 18:04:34.168 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel' received command 1
2019-01-18 18:04:34.168 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Comfoair level was changed to level A
2019-01-18 18:04:34.173 [vent.ItemStateChangedEvent] - comfoairFanLevel changed from 3 to 1
2019-01-18 18:04:34.175 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Supply/Exhaust mode was changed to supply
2019-01-18 18:04:34.176 [vent.ItemStateChangedEvent] - comfoairFanLevel_Message changed from 3 to 1
2019-01-18 18:04:34.179 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'changeSupply-ExhaustMode': The name 'comfoairFanIn0' cannot be resolved to an item or type; line 315, column 7, length 14
2019-01-18 18:04:37.579 [vent.ItemStateChangedEvent] - comfoairIncomingFan changed from 40 to 15
2019-01-18 18:04:37.580 [vent.ItemStateChangedEvent] - comfoairOutgoingFan changed from 40 to 15
2019-01-18 18:04:52.968 [vent.ItemStateChangedEvent] - comfoairOutdoorIncomingTemperature changed from 4.0 to 3.5
2019-01-18 18:04:53.952 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel_Message' received command 3
2019-01-18 18:04:53.962 [vent.ItemStateChangedEvent] - comfoairFanLevel_Message changed from 1 to 3
2019-01-18 18:04:53.963 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel' received command 3
2019-01-18 18:04:53.969 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Supply/Exhaust mode was changed to both
2019-01-18 18:04:54.171 [vent.ItemStateChangedEvent] - comfoairFanMode changed from 1 to 0
2019-01-18 18:04:54.174 [vent.ItemStateChangedEvent] - comfoairFanLevel changed from 1 to 3
2019-01-18 18:04:57.377 [vent.ItemStateChangedEvent] - comfoairIncomingFan changed from 15 to 40
2019-01-18 18:04:57.380 [vent.ItemStateChangedEvent] - comfoairOutgoingFan changed from 15 to 40
2019-01-18 18:05:00.013 [INFO ] [ipse.smarthome.model.script.comfoair] - ComfoAir - MANUAL Mode
2019-01-18 18:05:09.163 [ome.event.ItemCommandEvent] - Item 'comfoairFanMode_Message' received command 2
2019-01-18 18:05:09.171 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Try to change supply/exhaust mode
2019-01-18 18:05:09.173 [vent.ItemStateChangedEvent] - comfoairFanMode_Message changed from 1 to 2
2019-01-18 18:05:09.175 [ome.event.ItemCommandEvent] - Item 'comfoairFanMode' received command 2
2019-01-18 18:05:09.180 [vent.ItemStateChangedEvent] - comfoairFanMode changed from 0 to 2
2019-01-18 18:05:09.182 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Fan level is OK
2019-01-18 18:05:09.287 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Comfoair level was changed to level A
2019-01-18 18:05:09.288 [ome.event.ItemCommandEvent] - Item 'comfoairFanLevel' received command 1
2019-01-18 18:05:09.290 [INFO ] [ipse.smarthome.model.script.ComfoAir] - Supply/Exhaust mode was changed to exhaust
2019-01-18 18:05:09.291 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'changeSupply-ExhaustMode': The name 'comfoairFanIn0' cannot be resolved to an item or type; line 324, column 6, length 14
2019-01-18 18:05:09.492 [vent.ItemStateChangedEvent] - comfoairFanLevel changed from 3 to 1
2019-01-18 18:05:09.501 [vent.ItemStateChangedEvent] - comfoairFanLevel_Message changed from 3 to 1
2019-01-18 18:05:12.705 [vent.ItemStateChangedEvent] - comfoairIncomingFan changed from 40 to 15
2019-01-18 18:05:12.707 [vent.ItemStateChangedEvent] - comfoairOutgoingFan changed from 40 to 15
2019-01-18 18:05:54.179 [vent.ItemStateChangedEvent] - comfoairOutdoorIncomingTemperature changed from 3.5 to 4.0
2019-01-18 18:06:00.025 [INFO ] [ipse.smarthome.model.script.comfoair] - ComfoAir - MANUAL Mode
I blocked an error in binding.comfoair code and chaged the .jar file in my repository: https://github.com/gieemek/ComfoAir_Binding_modified - you can download it and reinstall comfoair binding in openHAB.
You will still get the warning “Unexpected value for DATA:” according to the different data block from comfoair 550. And you will not get value for is_ewt command, so comfoairEWT item will have value null.
But binding should work without errors.
Regards,