This page last changed on Apr 16, 2013 by slef.

Hi all,
I am attempting to add the KNX DPTs 6.001 and 6.010 (Signed 8 bit integers) to the code.
I am totally new to openremote development so I could use some pointers.

Creating the class in .../controller/protocol/knx/datatype is fairly easy but I am unsure about what else to modify to allow sliders to use them.
Should I define a new SRANGE sensor type to handle signed ranges? Another way would be to let Lookup.get() know about the DPT, then we could use the same RANGE sensor type which is maybe nicer.

Opinions? Ideas?

Slef.

IMHO does the range sensor (and respective the slider) already support 'signed'. You can just define a range -10 to 10 and receive the value.
In the controller the value only appears as a string and has to be converted to what you need.
No need for a new sensor type.

Posted by mredeker at Apr 17, 2013 08:43

Thanks! That is what I thought too.
So I have implemented the DPT 6.001 and 6.010. The most intrusive part of the implementation is that I had to add a dpt parameter to Lookup.get() in GroupValueWrite. I guess it makes sense to know the DPT in order to construct the APDU.

I noticed in the code of GroupValueRead.java that the RANGE sensors accept TwoOctetFloat and Float2ByteValue as well, however it is not implemented in GroupValueWrite. Is this normal?

I tested my implementation of DPT 6.010 on my Jung 4093 Room Controller http://downloads.jung.de/public/en/pdf/productdocumentation/en_4093krtsd_td.pdf
to set the setpoint temperature by changing the delta from the base temperature. It works perfectly!

Btw, this is my first contribution, is there anything further I should do in order for this to be incorporated in the main branch?

Posted by slef at Apr 17, 2013 19:37

Thanks for the contribution. You could try and create some junit tests which is always nice to have.

Posted by mredeker at Apr 17, 2013 20:35

Slef, thanks for the contribution. Will follow up on it wrt including in main branch. But am going to be away next week so there will be some delay.

Posted by juha at Apr 19, 2013 20:18

Just dropping a quick note to say your contribution has been merged to release branches, so it will start showing up in the official releases.

Thank you for making a high quality contribution to OpenRemote.

Best regards,

– Juha

Posted by juha at May 30, 2013 19:59

Great! Thanks!
Btw, which tags should I take next time I want to build/hack something on OR?
Which tag contains this addition?
The tag structure described in http://www.openremote.org/display/docs/Building+OpenRemote+2.0+Developer+Releases
doesn't seem to correspond anymore so I am a bit confused.
Stefan.

Posted by slef at May 31, 2013 09:07

Answer is it depends:

  • If you're doing simple bug fixes (one liners or few code lines of change), it is ok to use an existing stable tag (currently Controller_2_0_2, I will tag the 2_1_0 betas this or next week).
  • If you're adding completely new code that does not interfere or change existing code, then either the same as above, use a stable tag unless your new code relies on features or API changes that have not been released as stable distributions in which case it is better to ask first which development branch to use, or if a snapshot tag should be created from a development branch.
  • If you're planning to change any existing code in a significant way, ask first. In case there's someone else working in the same area, you will want to coordinate in order to avoid merge conflicts.
Posted by juha at May 31, 2013 11:42

Juha.

Now when you add some new DPT's to the release branch (I really appreciate it), it would be really nice if you also had ability to add the support for DPT 16.000 that Markus has written. I use it to send info-text to the display on my B.IQ push buttons and it works perfect. (The User Turtorial "How To - KNX" page says that both DPT 16.000 and DPT 232.600 already are supported, but I can't find it in the code).

Posted by kenta at Jun 03, 2013 13:44

Yes, that's the plan. True the how to should be more explicit in which versions the mentioned DPTs are supported.

Posted by juha at Jun 03, 2013 13:48

And it is also missing the ones you've added. Thanks by the way.

Posted by juha at Jun 03, 2013 13:49

Great!

Thanks

Posted by kenta at Jun 03, 2013 13:58

It feels good to be able to give something back.

Posted by kenta at Jun 03, 2013 14:16

The binary with these changes is now available in OpenRemote-Controller-2.1.0_SNAPSHOT-2013-06-25.zip.

Since there were merge conflicts that needed attention, it would be good if you can confirm that everything still works as it is supposed to.

Posted by juha at Jun 26, 2013 00:07

Hi Juha.

Sorry, but this version doesn't work for me. When it starts up, it takes about 6 minutes to go through all the sensors (normally it takes about 2 seconds), when it has come through all the sensors it restarts again and so on. I think it has to do with the new EventListener API (ORCJAVA-294), I've tried to compile it before but got the same problem that time.

Are there any log files that can provide information on what the problem could be?

Posted by kenta at Jun 26, 2013 08:07

I was using the new EventListener during our IoT presentation and it ran the whole day without any issues.
I will also try the latest snapshot and see if I can find something.

Posted by mredeker at Jun 26, 2013 08:44

Hi Juha,
I am out of the country for a couple of weeks so I can't test it right away, but I will as soon as I come back.
Stefan.

Posted by slef at Jun 26, 2013 08:47

Ok, sounds odd. Can you also tell which version are you comparing against, what is the current version you're using that has better performance?

Posted by juha at Jun 26, 2013 09:44

The version I normally use is "2.1.0_FM_SNAPSHOT-20130212-Lagarto," with my DPT files and Markus Dpt16 files (which I had to modify a bit to make them work without EventListener).

The new version doesn't work at all because it restart as soon as it has gone through all the sensors. I can never connect with the Android app.

Posted by kenta at Jun 26, 2013 10:17

What kind of hardware are you using to host the controller?

The restart on pressing 'sync' has been there for a while, if you restart the controller after the files have been synced, you'll see deployment cycle to commence only once at startup.

Posted by juha at Jun 26, 2013 10:42

Also you said you had tried ORCJAVA-294 before but had issues, was it the same issue or something different?

Posted by juha at Jun 26, 2013 10:43

Thanks, we would appreciate it.

Posted by juha at Jun 26, 2013 11:47

I run the controller on a standard Windows PC (with Windows Vista).

Now I am a little confused. I've tried to start the new version a few more times and these times it haven't restarted as it did when I tried this morning. It still takes an extremely long time to start up the controller (6 minutes). Once it has started it seems to work except once when I got some error (see the attached log file). It also starts with the error message "Could not start Vera Client:" can it affect that the controller starts so slow?

I attach a log on the startup (even though it is a bit long).
(Some of the lines is info from my rules)

Using CATALINA_BASE:   c:\temp\OpenRemote\OpenRemote-Controller-2.1.0_SNAPSHOT-2013-06-25
Using CATALINA_HOME:   c:\temp\OpenRemote\OpenRemote-Controller-2.1.0_SNAPSHOT-2013-06-25
Using CATALINA_TMPDIR: c:\temp\OpenRemote\OpenRemote-Controller-2.1.0_SNAPSHOT-2013-06-25\temp
Using JRE_HOME:        C:\Program Files\Java\jdk1.6.0_29
2013-jun-26 13:20:10 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: c:\temp\OpenRemote\OpenRemote-C
ontroller-2.1.0_SNAPSHOT-2013-06-25\webapps\controller\WEB-INF\lib\native
2013-jun-26 13:20:10 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
2013-jun-26 13:20:10 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 213 ms
2013-jun-26 13:20:10 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
2013-jun-26 13:20:10 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
2013-jun-26 13:20:10 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive webconsole.war
2013-jun-26 13:20:11 org.openremote.controller.bootstrap.Startup redirectJULtoLog4j
INFO: Initialized JUL to LOG4J Redirector.
INFO 2013-06-26 13:20:11,708 :

--------------------------------------------------------------------

  DEPLOYING NEW CONTROLLER RUNTIME...

--------------------------------------------------------------------



*****************************************************************

  The license restrictions Sigma Designs places on Z-Wave
  implementations prevents us from distributing Z-Wave with
  an Open Source product.

  To test Z-Wave, download a freely available binary from
  http://download.openremote.org/free/zwave and follow the
  installation instructions at http://www.openremote.org/x/xAo4AQ

*****************************************************************


ERROR [main]: Could not start VeraClient:
java.lang.IllegalArgumentException: Host name may not be null
        at org.apache.http.HttpHost.<init>(HttpHost.java:83)
        at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:586)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:708)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:700)
        at org.openremote.controller.protocol.vera.VeraClient.requestStatus(VeraClient.java:244)
        at org.openremote.controller.protocol.vera.VeraClient.startVeraClient(VeraClient.java:79)
        at org.openremote.controller.protocol.vera.VeraCommandBuilder.startVeraClient(VeraCommandBuilder.java:155)
        at org.openremote.controller.protocol.vera.VeraCommandBuilder.<init>(VeraCommandBuilder.java:68)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.openremote.controller.command.CommandFactory.updateCommandBuilders(CommandFactory.java:104)
        at org.openremote.controller.deployer.Version20ModelBuilder.build(Version20ModelBuilder.java:552)
        at org.openremote.controller.deployer.AbstractModelBuilder.buildModel(AbstractModelBuilder.java:154)
        at org.openremote.controller.service.Deployer.startup(Deployer.java:858)
        at org.openremote.controller.service.Deployer.startController(Deployer.java:336)
        at org.openremote.controller.spring.SpringContext.initializeController(SpringContext.java:109)
        at org.openremote.controller.service.ServiceContext.init(ServiceContext.java:383)
        at org.openremote.controller.bootstrap.Startup.loadServiceContext(Startup.java:85)
        at org.openremote.controller.bootstrap.servlet.ServletStartup.initializeServiceContext(ServletStartup.java:190)
        at org.openremote.controller.bootstrap.servlet.ServletStartup.contextInitialized(ServletStartup.java:109)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
INFO 2013-06-26 13:20:14,823 : Initialized event processor : Drools Rule Engine
INFO 2013-06-26 13:20:14,865 : Initialized event processor : RRD4J Data Logger
INFO 2013-06-26 13:20:14,869 : Initialized event processor : EmonCMS Data Logger
INFO 2013-06-26 13:20:16,345 : Registered sensor : Sensor (Name = 'Võder Stat Solin Võst Status', ID = '2640290', State Mappings: {})
INFO 2013-06-26 13:20:19,366 : Registered sensor : Sensor (Name = 'Võder Stat Solin Syd Status', ID = '2640291', State Mappings: {})
INFO 2013-06-26 13:20:22,387 : Registered sensor : Switch Sensor (Name = 'Uttag Altan ON/OFF', ID = '107776')
INFO 2013-06-26 13:20:25,408 : Registered sensor : Sensor (Name = 'Võder Stat Vindhast Status', ID = '2640289', State Mappings: {})
INFO 2013-06-26 13:20:28,429 : Registered sensor : Sensor (Name = 'State sovrum', ID = '112870', State Mappings: {d=d, e=e, b=b, c=c, a=a})
INFO 2013-06-26 13:20:28,435 : Registered sensor : Switch Sensor (Name = 'Belysning Altan ON/OFF', ID = '107778')
INFO 2013-06-26 13:20:31,458 : Registered sensor : Switch Sensor (Name = 'FTX_intemp_de ON/OFF', ID = '281870')
INFO 2013-06-26 13:20:31,462 : Registered sensor : Switch Sensor (Name = 'Võder Stat Vind tr÷sk Status', ID = '2640294')
INFO 2013-06-26 13:20:34,486 : Registered sensor : Sensor (Name = 'State FTXout', ID = '1442384', State Mappings: {f=f, g=g, d=d, e=e, b=b, c=c, a=a, j=j, h=h, i=i})
INFO 2013-06-26 13:20:34,490 : Registered sensor : Switch Sensor (Name = 'FTX_intemp_in ON/OFF', ID = '281871')
INFO 2013-06-26 13:20:34,497 : Registered sensor : Switch Sensor (Name = 'Võder Stat Skymn D/N Status', ID = '2640295')
INFO 2013-06-26 13:20:37,519 : Registered sensor : Sensor (Name = 'State FTXin', ID = '1442385', State Mappings: {f=f, g=g, d=d, e=e, b=b, c=c, a=a, j=j, h=h, i=i})
INFO 2013-06-26 13:20:37,523 : Registered sensor : Sensor (Name = 'Võder Stat Solin Íst Status', ID = '2640292', State Mappings: {})
INFO 2013-06-26 13:20:40,548 : Registered sensor : Sensor (Name = 'Võder Stat Temp tak Status', ID = '2640293', State Mappings: {})
INFO 2013-06-26 13:20:43,569 : Registered sensor : Sensor (Name = 'Alarmtext Status', ID = '2534076', State Mappings: {})
INFO 2013-06-26 13:20:46,614 : Registered sensor : Sensor (Name = 'Time minutes', ID = '113354', State Mappings: {})
INFO 2013-06-26 13:20:46,618 : Registered sensor : Sensor (Name = 'Võder Stat Skymning Status', ID = '2640296', State Mappings: {})
Your Access file has been generated from rule Brightness change
INFO 2013-06-26 13:20:49,642 : Registered sensor : Switch Sensor (Name = 'Võder Stat Solin Võst tr÷sk Status', ID = '2640297')
INFO 2013-06-26 13:20:52,663 : Registered sensor : Level Sensor (Name = 'Flõkthastighet Level (50)', ID = '1444071', Min: 0, Max: 100)
INFO 2013-06-26 13:20:55,684 : Registered sensor : Switch Sensor (Name = 'Alarmtext reset', ID = '2534075')
INFO 2013-06-26 13:20:58,705 : Registered sensor : Switch Sensor (Name = 'FTXout_pow_diff_de ON/OFF', ID = '263012')
INFO 2013-06-26 13:20:58,709 : Registered sensor : Switch Sensor (Name = 'FTX_OP_in_de ON/OFF', ID = '263013')
INFO 2013-06-26 13:20:58,715 : Registered sensor : Switch Sensor (Name = 'FTX_OP_in_in ON/OFF', ID = '263014')
INFO 2013-06-26 13:20:58,722 : Registered sensor : Switch Sensor (Name = 'Võder Stat block automarkis Status', ID = '2640311')
INFO 2013-06-26 13:21:01,745 : Registered sensor : Level Sensor (Name = 'Bel Barnrum1 (norr) Dim sens', ID = '109542', Min: 0, Max: 100)
INFO 2013-06-26 13:21:04,766 : Registered sensor : Switch Sensor (Name = 'Bel Barnrum1 (norr) ON/OFF', ID = '109543')
INFO 2013-06-26 13:21:07,787 : Registered sensor : Sensor (Name = 'SNK aktiva dagar', ID = '263009', State Mappings: {65.0=L÷r-S÷n, 62.0=MÕn-Fre, 127.0=MÕn-S÷n})
INFO 2013-06-26 13:21:10,808 : Registered sensor : Switch Sensor (Name = 'FTXout_pow_diff_in ON/OFF', ID = '263011')
INFO 2013-06-26 13:21:10,813 : Registered sensor : Level Sensor (Name = 'Belysning Sovrum Dim', ID = '107801', Min: 0, Max: 100)
Sovrum State1
INFO 2013-06-26 13:21:13,835 : Registered sensor : Switch Sensor (Name = 'FTX_man_pow_in ON/OFF', ID = '281873')
INFO 2013-06-26 13:21:13,839 : Registered sensor : Switch Sensor (Name = 'FTX_OP_out_in ON/OFF', ID = '263022')
INFO 2013-06-26 13:21:13,844 : Registered sensor : Switch Sensor (Name = 'Belysning Sovrum ON/OFF', ID = '107802')
INFO 2013-06-26 13:21:16,868 : Registered sensor : Switch Sensor (Name = 'FTX_man_pow_de ON/OFF', ID = '281872')
INFO 2013-06-26 13:21:16,871 : Registered sensor : Switch Sensor (Name = 'FTX_OP_out_de ON/OFF', ID = '263023')
INFO 2013-06-26 13:21:16,877 : Registered sensor : Sensor (Name = 'Temperaturregleringsmetod', ID = '160734', State Mappings: {3.0=rums, 1.0=tilluft, 2.0=frÕnluft})
INFO 2013-06-26 13:21:19,902 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum v f ON/OFF', ID = '112837')
INFO 2013-06-26 13:21:22,922 : Registered sensor : Level Sensor (Name = 'SNK fanpower', ID = '160732', Min: 0, Max: 100)
INFO 2013-06-26 13:21:25,952 : Registered sensor : Switch Sensor (Name = 'FTX ON/OFF', ID = '160731')
FTX ON
FTX RECOVERY ON
INFO 2013-06-26 13:21:28,972 : Registered sensor : Switch Sensor (Name = 'FTXin_pow_diff_de ON/OFF', ID = '262993')
INFO 2013-06-26 13:21:28,975 : Registered sensor : Level Sensor (Name = 'FTX overpressure outpow', ID = '160729', Min: 0, Max: 100)
INFO 2013-06-26 13:21:32,000 : Registered sensor : Level Sensor (Name = 'FTX overpressure inpow', ID = '160728', Min: 0, Max: 100)
INFO 2013-06-26 13:21:35,020 : Registered sensor : Level Sensor (Name = 'FTXin_pow_diff', ID = '160727', Min: 0, Max: 100)
INFO 2013-06-26 13:21:38,040 : Registered sensor : Sensor (Name = 'Sunset', ID = '109055', State Mappings: {})
INFO 2013-06-26 13:21:38,043 : Registered sensor : Level Sensor (Name = 'FTXout_pow_diff', ID = '160726', Min: 0, Max: 100)
INFO 2013-06-26 13:21:41,068 : Registered sensor : Sensor (Name = 'Sunrise', ID = '109054', State Mappings: {})
INFO 2013-06-26 13:21:41,071 : Registered sensor : Sensor (Name = 'Temp Barnrum 2s', ID = '809430', State Mappings: {})
INFO 2013-06-26 13:21:44,096 : Registered sensor : Sensor (Name = 'HeatingpowerL3', ID = '115946', State Mappings: {})
INFO 2013-06-26 13:21:47,118 : Registered sensor : Sensor (Name = 'HeatingpowerL1L2L3', ID = '115947', State Mappings: {})
INFO 2013-06-26 13:21:50,138 : Registered sensor : Switch Sensor (Name = 'Lõge Borta pÕ / av', ID = '160716')
INFO 2013-06-26 13:21:53,158 : Registered sensor : Sensor (Name = 'HeatingpowerL1', ID = '115944', State Mappings: {})
INFO 2013-06-26 13:21:56,178 : Registered sensor : Sensor (Name = 'HeatingpowerL2', ID = '115945', State Mappings: {})
INFO 2013-06-26 13:21:59,198 : Registered sensor : Range Sensor (Name = 'Hastighet pÕ tilluftsflõckt vid Borta lõnge lõge', ID = '160714', Min: 0, Max: 255)
INFO 2013-06-26 13:22:02,218 : Registered sensor : Range Sensor (Name = 'Hastighet pÕ tilluftsflõckt vid Borta lõge', ID = '160713', Min: 0, Max: 255)
INFO 2013-06-26 13:22:05,238 : Registered sensor : Switch Sensor (Name = 'FTXin_pow_diff_in ON/OFF', ID = '262991')
INFO 2013-06-26 13:22:05,241 : Registered sensor : Sensor (Name = 'SNK stoptemp', ID = '160708', State Mappings: {})
INFO 2013-06-26 13:22:08,267 : Registered sensor : Sensor (Name = 'SNK min tempdiff', ID = '160709', State Mappings: {})
INFO 2013-06-26 13:22:11,287 : Registered sensor : Sensor (Name = 'TotalpowerL3', ID = '115942', State Mappings: {})
INFO 2013-06-26 13:22:14,307 : Registered sensor : Sensor (Name = 'SNK starttemp', ID = '160707', State Mappings: {})
INFO 2013-06-26 13:22:17,327 : Registered sensor : Sensor (Name = 'TotalpowerL1L2L3', ID = '115943', State Mappings: {})
INFO 2013-06-26 13:22:20,347 : Registered sensor : Sensor (Name = 'TotalpowerL1', ID = '115940', State Mappings: {})
INFO 2013-06-26 13:22:23,368 : Registered sensor : Sensor (Name = 'TotalpowerL2', ID = '115941', State Mappings: {})
INFO 2013-06-26 13:22:26,389 : Registered sensor : Switch Sensor (Name = 'Eftervõrme pÕ / av', ID = '160697')
INFO 2013-06-26 13:22:29,410 : Registered sensor : Switch Sensor (Name = 'Lõge Sommarnattkyla pÕ / av', ID = '160696')
INFO 2013-06-26 13:22:32,431 : Registered sensor : Sensor (Name = 'Avluftens temperatur.', ID = '160699', State Mappings: {})
INFO 2013-06-26 13:22:35,452 : Registered sensor : Switch Sensor (Name = 'Eftervõrme tillÕten ja / nej', ID = '160698')
Your Access file has been generated from rule Brightness change
INFO 2013-06-26 13:22:38,473 : Registered sensor : Range Sensor (Name = 'FrÕnluftens genomsnittliga fukthalt senaste 48 tim', ID = '160701', Min: 0, Max: 255)
INFO 2013-06-26 13:22:41,494 : Registered sensor : Switch Sensor (Name = 'Text2 ON/OFF', ID = '110894')
INFO 2013-06-26 13:22:44,515 : Registered sensor : Level Sensor (Name = 'Bel Barnrum2 (s÷der) Dim Status', ID = '1447784', Min: 0, Max: 100)
Barnrum2 State1
INFO 2013-06-26 13:22:47,536 : Registered sensor : Range Sensor (Name = 'FrÕnluftens fukthalt.', ID = '160700', Min: 0, Max: 255)
INFO 2013-06-26 13:22:50,557 : Registered sensor : Switch Sensor (Name = 'Text3 ON/OFF', ID = '110895')
INFO 2013-06-26 13:22:53,578 : Registered sensor : Sensor (Name = 'TotalenergyL1L2L3', ID = '115866', State Mappings: {})
Your Access file has been generated from rule Brightness change
INFO 2013-06-26 13:22:56,599 : Registered sensor : Sensor (Name = 'FTX status', ID = '160702', State Mappings: {128.0=CO2forcering, 4.0=N÷dstopp, 256.0=Fuktforcering, 16.0=Borta, 2
048.0=Spisflõkt, 8.0=Stopp, 528.0=Force+timer, 512.0=Man.forcering, 32.0=Borta lõnge, 2.0=Max võrme, 16384.0=Sommarnattkyla, 64.0=Temperaturforcering, 0.0=Hemma, 1024.0=Ívertryck,
1.0=Maximal kylning, 1040.0=Ívert+timer, 4096.0=Centraldammsugare})
INFO 2013-06-26 13:22:59,627 : Registered sensor : Switch Sensor (Name = 'Bel Barnrum2 (s÷der) ON/OFF Status', ID = '1447783')
INFO 2013-06-26 13:23:02,648 : Registered sensor : Switch Sensor (Name = 'Markis Balkong R÷relsestatus', ID = '107849')
INFO 2013-06-26 13:23:05,669 : Registered sensor : Switch Sensor (Name = 'Lõge Lõnge borta pÕ / av', ID = '160695')
INFO 2013-06-26 13:23:08,690 : Registered sensor : Level Sensor (Name = 'Markis Balkong Positionsstatus', ID = '107860', Min: 0, Max: 100)
State1
INFO 2013-06-26 13:23:11,711 : Registered sensor : Level Sensor (Name = 'Verkningsgrad (tilluft)', ID = '107861', Min: 0, Max: 100)
INFO 2013-06-26 13:23:14,732 : Registered sensor : Sensor (Name = 'State sensor', ID = '110901', State Mappings: {f=f, d=d, e=e, b=b, c=c, a=a})
INFO 2013-06-26 13:23:14,736 : Registered sensor : Switch Sensor (Name = 'Set Time Buttom ON/OFF', ID = '1224695')
INFO 2013-06-26 13:23:14,743 : Registered sensor : Switch Sensor (Name = 'Rain sensor it rains Status', ID = '2623400')
INFO 2013-06-26 13:23:17,765 : Registered sensor : Switch Sensor (Name = 'Rain sensor heating Status', ID = '2623401')
It dosen't Rain
Rain sensor heating is off
Your Access file has been generated from rule Rain change
Your Access file has been generated from rule Brightness change
INFO 2013-06-26 13:23:20,786 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum v s ON/OFF', ID = '112794')
INFO 2013-06-26 13:23:23,807 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum nf ON/OFF', ID = '112795')
INFO 2013-06-26 13:23:26,828 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum h s ON/OFF', ID = '112793')
INFO 2013-06-26 13:23:29,849 : Registered sensor : Switch Sensor (Name = 'FTX invert ON/OFF', ID = '1445871')
INFO 2013-06-26 13:23:29,853 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum TV ON/OFF', ID = '112798')
INFO 2013-06-26 13:23:32,877 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum bf ON/OFF', ID = '112796')
INFO 2013-06-26 13:23:35,898 : Registered sensor : Switch Sensor (Name = 'Uttag Sovrum v d ON/OFF', ID = '112797')
INFO 2013-06-26 13:23:46,057 : Registered sensor : Switch Sensor (Name = 'FTX_snk_stopptid_in ON/OFF', ID = '282294')
INFO 2013-06-26 13:23:46,057 : Registered sensor : Switch Sensor (Name = 'FTX_snk_stopptemp_de ON/OFF', ID = '282295')
INFO 2013-06-26 13:23:46,058 : Registered sensor : Sensor (Name = 'Utetemperatur', ID = '108622', State Mappings: {})
INFO 2013-06-26 13:23:49,075 : Registered sensor : Switch Sensor (Name = 'FTX_snk_starttid_de ON/OFF', ID = '282292')
INFO 2013-06-26 13:23:49,076 : Registered sensor : Sensor (Name = 'Temp Vardagsrum', ID = '108621', State Mappings: {})
INFO 2013-06-26 13:23:52,093 : Registered sensor : Switch Sensor (Name = 'FTX_snk_stopptid_de ON/OFF', ID = '282293')
INFO 2013-06-26 13:23:52,093 : Registered sensor : Switch Sensor (Name = 'FTX_snk_starttid_in ON/OFF', ID = '282291')
INFO 2013-06-26 13:23:52,094 : Registered sensor : Sensor (Name = 'DisplayDate Sensor', ID = '108618', State Mappings: {})
INFO 2013-06-26 13:23:52,094 : Registered sensor : Range Sensor (Name = 'FTX vald in temp', ID = '112046', Min: 0, Max: 100)
INFO 2013-06-26 13:23:55,111 : Registered sensor : Switch Sensor (Name = 'FTX_regmethod ON/OFF', ID = '282289')
INFO 2013-06-26 13:23:55,111 : Registered sensor : Switch Sensor (Name = 'FTX_snk_starttemp_in ON/OFF', ID = '282303')
INFO 2013-06-26 13:23:55,111 : Registered sensor : Switch Sensor (Name = 'Uttag Barnrum2 r h ON/OFF Status', ID = '1900371')
INFO 2013-06-26 13:23:58,129 : Registered sensor : Switch Sensor (Name = 'FTX_snk_minuttemp_de ON/OFF', ID = '282300')
INFO 2013-06-26 13:23:58,129 : Registered sensor : Switch Sensor (Name = 'Uttag Barnrum2 TV ON/OFF Status', ID = '1900368')
INFO 2013-06-26 13:24:01,147 : Registered sensor : Switch Sensor (Name = 'FTX_snk_aktivdagar ON/OFF', ID = '282301')
INFO 2013-06-26 13:24:01,150 : Registered sensor : Switch Sensor (Name = 'Uttag Barnrum2 h d ON/OFF Status', ID = '1900369')
INFO 2013-06-26 13:24:04,174 : Registered sensor : Switch Sensor (Name = 'FTX_snk_mintempdiff_de ON/OFF', ID = '282298')
INFO 2013-06-26 13:24:04,176 : Registered sensor : Switch Sensor (Name = 'FTX_snk_minuttemp_in ON/OFF', ID = '282299')
INFO 2013-06-26 13:24:04,188 : Registered sensor : Switch Sensor (Name = 'FTX_snk_stopptemp_in ON/OFF', ID = '282296')
INFO 2013-06-26 13:24:04,193 : Registered sensor : Switch Sensor (Name = 'FTX_snk_mintempdiff_in ON/OFF', ID = '282297')
INFO 2013-06-26 13:24:04,199 : Registered sensor : Switch Sensor (Name = 'Email ON/OFF status', ID = '1900121')
INFO 2013-06-26 13:24:04,205 : Registered sensor : Switch Sensor (Name = 'Uttag Barnrum2 v f ON/OFF Status', ID = '1900366')
INFO 2013-06-26 13:24:07,227 : Registered sensor : Sensor (Name = 'Display minutesToSunset', ID = '2544703', State Mappings: {})
INFO 2013-06-26 13:24:07,232 : Registered sensor : Sensor (Name = 'FTXoutspeed_custom', ID = '262593', State Mappings: {})
INFO 2013-06-26 13:24:10,254 : Registered sensor : Sensor (Name = 'Set point Sovrum', ID = '112052', State Mappings: {})
INFO 2013-06-26 13:24:13,275 : Registered sensor : Switch Sensor (Name = 'Controller reset ON/OFF Status', ID = '1900119')
INFO 2013-06-26 13:24:13,279 : Registered sensor : Switch Sensor (Name = 'LedFsmyg Barnrum2 ON/OFF', ID = '1899316')
INFO 2013-06-26 13:24:16,303 : Registered sensor : Sensor (Name = 'Lampa barnrum2 state', ID = '1898496', State Mappings: {d=d, e=e, b=b, c=c, a=a})
INFO 2013-06-26 13:24:16,307 : Registered sensor : Level Sensor (Name = 'LedFsmyg Barnrum2 Dim', ID = '1899317', Min: 0, Max: 100)
Barnrum2 Led State1
INFO 2013-06-26 13:24:19,329 : Registered sensor : Sensor (Name = 'Set point barnrum2', ID = '1898498', State Mappings: {})
INFO 2013-06-26 13:24:22,350 : Registered sensor : Switch Sensor (Name = 'De set point kids2 ON/OFF', ID = '1898501')
INFO 2013-06-26 13:24:22,354 : Registered sensor : Level Sensor (Name = 'Vald flõkthastighet (53a)', ID = '110802', Min: 0, Max: 100)
INFO 2013-06-26 13:24:25,378 : Registered sensor : Switch Sensor (Name = 'In set point kids2 ON/OFF', ID = '1898500')
INFO 2013-06-26 13:24:25,382 : Registered sensor : Sensor (Name = 'State LedFsmyg Barnrum2', ID = '1899324', State Mappings: {d=d, e=e, b=b, c=c, a=a})
INFO 2013-06-26 13:24:25,388 : Registered sensor : Switch Sensor (Name = 'FTX kyler ON/OFF Status', ID = '1444186')
INFO 2013-06-26 13:24:25,395 : Registered sensor : Switch Sensor (Name = 'FTX Recovery ON/OFF', ID = '1444184')
INFO 2013-06-26 13:24:25,401 : Registered sensor : Level Sensor (Name = 'FTX tilluft', ID = '160802', Min: 0, Max: 100)
INFO 2013-06-26 13:24:25,407 : Registered sensor : Switch Sensor (Name = 'Markis Matsal R÷relsestatus', ID = '122505')
INFO 2013-06-26 13:24:28,430 : Registered sensor : Switch Sensor (Name = 'R Markis 0-25 ON/OFF', ID = '109637')
INFO 2013-06-26 13:24:28,434 : Registered sensor : Level Sensor (Name = 'Markis Matsal Positionsstatus', ID = '122506', Min: 0, Max: 100)
INFO 2013-06-26 13:24:31,456 : Registered sensor : Sensor (Name = 'Ledspot sovrum state', ID = '1219170', State Mappings: {d=d, e=e, b=b, c=c, a=a})
INFO 2013-06-26 13:24:31,460 : Registered sensor : Sensor (Name = 'FTXcurrent', ID = '122768', State Mappings: {})
63.9 W
Eftervarme off
Your Access file has been generated from rule Power change
new Date Wed Jun 26 13:24:31 CEST 2013
INFO 2013-06-26 13:24:34,484 : Registered sensor : Switch Sensor (Name = 'FTX A-alarm Status', ID = '1443306')
INFO 2013-06-26 13:24:37,505 : Registered sensor : Level Sensor (Name = 'Ledspot Sovrum Dim', ID = '1219168', Min: 0, Max: 100)
Sovrum Led_State1
INFO 2013-06-26 13:24:40,526 : Registered sensor : Switch Sensor (Name = 'FTX B-alarm Status', ID = '1443307')
INFO 2013-06-26 13:24:43,547 : Registered sensor : Switch Sensor (Name = 'Ledspot Sovrum ON/OFF', ID = '1219169')
INFO 2013-06-26 13:24:46,568 : Registered sensor : Level Sensor (Name = 'Verkningsgrad FrÕnluft', ID = '1443308', Min: 0, Max: 100)
INFO 2013-06-26 13:24:49,589 : Registered sensor : Level Sensor (Name = 'SNK stopptid', ID = '262842', Min: 0, Max: 100)
INFO 2013-06-26 13:24:52,610 : Registered sensor : Switch Sensor (Name = 'FTX veckotimer ON/OFF', ID = '262843')
INFO 2013-06-26 13:24:55,631 : Registered sensor : Switch Sensor (Name = 'R Markis 50-75 ON/OFF', ID = '109652')
INFO 2013-06-26 13:24:55,635 : Registered sensor : Sensor (Name = 'SNK min outtemp', ID = '262840', State Mappings: {})
INFO 2013-06-26 13:24:58,658 : Registered sensor : Switch Sensor (Name = 'R Markis 0 ON/OFF', ID = '109653')
INFO 2013-06-26 13:24:58,662 : Registered sensor : Level Sensor (Name = 'SNK starttid', ID = '262841', Min: 0, Max: 100)
INFO 2013-06-26 13:25:01,685 : Registered sensor : Switch Sensor (Name = 'FTX power ON/OFF', ID = '122767')
INFO 2013-06-26 13:25:04,706 : Registered sensor : Switch Sensor (Name = 'R Markis 25-50 ON/OFF', ID = '109651')
INFO 2013-06-26 13:25:04,710 : Registered sensor : Level Sensor (Name = 'FTX Regleringssteg Status', ID = '1444130', Min: 0, Max: 100)
INFO 2013-06-26 13:25:07,733 : Registered sensor : Sensor (Name = 'State Balcony awing', ID = '1899337', State Mappings: {d=d, e=e, b=b, c=c, a=a})
INFO 2013-06-26 13:25:07,737 : Registered sensor : Sensor (Name = 'minsek', ID = '113414', State Mappings: {})
INFO 2013-06-26 13:25:07,767 : Registered sensor : Level Sensor (Name = 'FTX frÕnluft', ID = '262796', Min: 0, Max: 100)
INFO 2013-06-26 13:25:07,772 : Registered sensor : Sensor (Name = 'FTXpow', ID = '156750', State Mappings: {})
INFO 2013-06-26 13:25:07,778 : Registered sensor : Switch Sensor (Name = 'Rain sensor ok', ID = '2641710')
Your Access file has been generated from rule time power
Wed Jun 26 13:25:10 CEST 2013
2013-06-26 13:24:31.0
INFO 2013-06-26 13:25:10,801 : Registered sensor : Switch Sensor (Name = 'FTX HEATER Status', ID = '1444127')
INFO 2013-06-26 13:25:10,805 : Registered sensor : Switch Sensor (Name = 'R Markis 75-100 ON/OFF', ID = '109673')
INFO 2013-06-26 13:25:10,812 : Registered sensor : Switch Sensor (Name = 'FTX com error', ID = '122533')
Your excel file has been generated from rule error_log
Wed Jun 26 13:25:11 CEST 2013
INFO 2013-06-26 13:25:13,835 : Registered sensor : Switch Sensor (Name = 'FTX_forctid_de ON/OFF', ID = '1444103')
INFO 2013-06-26 13:25:13,839 : Registered sensor : Sensor (Name = 'Temp Tilluft', ID = '109325', State Mappings: {})
INFO 2013-06-26 13:25:16,865 : Registered sensor : Switch Sensor (Name = 'FTX_forctid_in ON/OFF', ID = '1444102')
INFO 2013-06-26 13:25:16,869 : Registered sensor : Sensor (Name = 'Temp FrÕnluft', ID = '109324', State Mappings: {})
INFO 2013-06-26 13:25:19,892 : Registered sensor : Switch Sensor (Name = 'FTX_SNK_pow_de ON/OFF', ID = '281829')
INFO 2013-06-26 13:25:19,896 : Registered sensor : Switch Sensor (Name = 'FTX_snk_starttemp_de ON/OFF', ID = '282306')
INFO 2013-06-26 13:25:19,905 : Registered sensor : Switch Sensor (Name = 'Ívertryck', ID = '109326')
75
off
FTXout state7
FTXin state6
INFO 2013-06-26 13:25:22,928 : Registered sensor : Level Sensor (Name = 'FTX Forceringstid Status', ID = '1444099', Min: 0, Max: 100)
INFO 2013-06-26 13:25:25,949 : Registered sensor : Level Sensor (Name = 'FTX Forceringseffekt Status', ID = '1444098', Min: 0, Max: 100)
INFO 2013-06-26 13:25:28,970 : Registered sensor : Switch Sensor (Name = 'FTX Forcering On/Off Status', ID = '1444097')
INFO 2013-06-26 13:25:31,991 : Registered sensor : Sensor (Name = 'Temp Barnrum 1n', ID = '109323', State Mappings: {})
INFO 2013-06-26 13:25:35,012 : Registered sensor : Sensor (Name = 'Temp Sovrum', ID = '109322', State Mappings: {})
INFO 2013-06-26 13:25:38,033 : Registered sensor : Switch Sensor (Name = 'FTX_SNK_pow_in ON/OFF', ID = '281838')
INFO 2013-06-26 13:25:38,037 : Registered sensor : Switch Sensor (Name = 'FTX_forceff_in ON/OFF', ID = '1444105')
INFO 2013-06-26 13:25:38,044 : Registered sensor : Sensor (Name = 'TotalEnergy', ID = '116026', State Mappings: {})
INFO 2013-06-26 13:25:41,067 : Registered sensor : Switch Sensor (Name = 'FTX_forceff_de ON/OFF', ID = '1444104')
INFO 2013-06-26 13:25:41,071 : Registered sensor : Sensor (Name = 'HeatingEnergy', ID = '116027', State Mappings: {})
INFO 2013-06-26 13:25:44,107 : Startup complete.
INFO 2013-06-26 13:25:44,111 : Controller Definition File Watcher for Default Deployer started.
2013-jun-26 13:25:44 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
2013-jun-26 13:25:44 org.apache.catalina.startup.Catalina start
INFO: Server startup in 333754 ms
Your Access file has been generated from rule Brightness change
Your Access file has been generated from rule Brightness change
50.8 W
Eftervarme off
37.7 W
Eftervarme off
24.6 W
Eftervarme off
45
off
FTXout state4
FTXin state3
11.5 W
Eftervarme off
Your excel file has been generated from rule error_log
Wed Jun 26 13:27:36 CEST 2013
ERROR [PhysicalBusListener for runtime]: Service failed
org.openremote.controller.protocol.knx.ip.KnxIpException: Service failed, no ACK
        at org.openremote.controller.protocol.knx.ip.IpTunnelClient.service(IpTunnelClient.java:84)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.service(KNXIpConnectionManager.java:850)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.send(KNXIpConnectionManager.java:670)
        at org.openremote.controller.protocol.knx.KNXCommand.write(KNXCommand.java:328)
        at org.openremote.controller.protocol.knx.GroupValueWrite.send(GroupValueWrite.java:117)
        at org.openremote.controller.model.Command.execute(Command.java:230)
        at org.openremote.controller.model.Command.execute(Command.java:199)
        at org.openremote.controller.statuscache.CommandFacade.command(CommandFacade.java:80)
        at org.openremote.controller.statuscache.CommandFacade.command(CommandFacade.java:57)
        at org.openremote.controller.model.event.Rule_If_error_0.defaultConsequence(Rule_If_error_0.java:35)
        at org.openremote.controller.model.event.Rule_If_error_0DefaultConsequenceInvoker.evaluate(Rule_If_error_0DefaultConsequenceInvoker.java:25)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
        at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:751)
        at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
        at org.openremote.controller.statuscache.rules.RuleEngine.push(RuleEngine.java:177)
        at org.openremote.controller.statuscache.EventProcessorChain.push(EventProcessorChain.java:188)
        at org.openremote.controller.statuscache.StatusCache.update(StatusCache.java:260)
        at org.openremote.controller.model.sensor.Sensor.update(Sensor.java:342)
        at org.openremote.controller.protocol.knx.GroupValueRead.updateSensor(GroupValueRead.java:356)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.handleLDataInd(KNXIpConnectionManager.java:975)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.receive(KNXIpConnectionManager.java:737)
        at org.openremote.controller.protocol.knx.ip.IpTunnelClient.notifyMessage(IpTunnelClient.java:229)
        at org.openremote.controller.protocol.knx.ip.IpProcessor$PhysicalBusListener.run(IpProcessor.java:102)
ERROR [HTTP-Thread-5]: Service failed
java.net.SocketException: Socket is closed
        at java.net.DatagramSocket.send(DatagramSocket.java:590)
        at org.openremote.controller.protocol.port.DatagramSocketPort.send(DatagramSocketPort.java:64)
        at org.openremote.controller.protocol.knx.ip.IpProcessor.send(IpProcessor.java:195)
        at org.openremote.controller.protocol.knx.ip.IpProcessor.send(IpProcessor.java:188)
        at org.openremote.controller.protocol.knx.ip.IpProcessor.service(IpProcessor.java:175)
        at org.openremote.controller.protocol.knx.ip.IpTunnelClient.service(IpTunnelClient.java:79)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.service(KNXIpConnectionManager.java:850)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.send(KNXIpConnectionManager.java:670)
        at org.openremote.controller.protocol.knx.KNXCommand.write(KNXCommand.java:328)
        at org.openremote.controller.protocol.knx.GroupValueWrite.send(GroupValueWrite.java:117)
        at org.openremote.controller.service.impl.ControlCommandServiceImpl.trigger(ControlCommandServiceImpl.java:95)
        at org.openremote.controller.rest.ControlCommandRESTServlet.handleRequest(ControlCommandRESTServlet.java:77)
        at org.openremote.controller.rest.RESTAPI.doPost(RESTAPI.java:159)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.openremote.controller.rest.support.json.JSONCallbackFilter.doFilter(JSONCallbackFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
ERROR [HTTP-Thread-5]: Error in handling REST API response: port out of range:-1
java.lang.IllegalArgumentException: port out of range:-1
        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:83)
        at java.net.DatagramSocket.getLocalSocketAddress(DatagramSocket.java:545)
        at org.openremote.controller.protocol.knx.ip.IpProcessor.getSrcSocketAddr(IpProcessor.java:158)
        at org.openremote.controller.protocol.knx.ip.IpTunnelClient.disconnect(IpTunnelClient.java:148)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.stop(KNXIpConnectionManager.java:811)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.service(KNXIpConnectionManager.java:872)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.send(KNXIpConnectionManager.java:670)
        at org.openremote.controller.protocol.knx.KNXCommand.write(KNXCommand.java:328)
        at org.openremote.controller.protocol.knx.GroupValueWrite.send(GroupValueWrite.java:117)
        at org.openremote.controller.service.impl.ControlCommandServiceImpl.trigger(ControlCommandServiceImpl.java:95)
        at org.openremote.controller.rest.ControlCommandRESTServlet.handleRequest(ControlCommandRESTServlet.java:77)
        at org.openremote.controller.rest.RESTAPI.doPost(RESTAPI.java:159)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.openremote.controller.rest.support.json.JSONCallbackFilter.doFilter(JSONCallbackFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
ERROR [KNX IP reconnector]: Disconnect failed
org.openremote.controller.protocol.knx.ip.KnxIpException: Disconnect failed
        at org.openremote.controller.protocol.knx.ip.IpTunnelClient.disconnect(IpTunnelClient.java:147)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.stop(KNXIpConnectionManager.java:811)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$KNXConnectionImpl.access$000(KNXIpConnectionManager.java:647)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager.stop(KNXIpConnectionManager.java:208)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$ConnectionTask.removeConnection(KNXIpConnectionManager.java:999)
        at org.openremote.controller.protocol.knx.KNXIpConnectionManager$ConnectionTask.run(KNXIpConnectionManager.java:986)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
31.0 W
Eftervarme off
19.3 W
Eftervarme off
37.5 W
Eftervarme off
24.8 W
Posted by kenta at Jun 26, 2013 13:52

It was the same problem (or at least similar), it was extremely slow to start and I think I never got it to boot up properly.

Posted by kenta at Jun 26, 2013 13:59

Thanks for trying and for the logs.

I think the Vera is an issue and I vaguely do recall noticing in review that it was being started needlessly even if nothing related was configured/used in the controller.

Another issue that probably needs a second review is the changes related to fetching the initial states of the sensors and whether that has changed/impacts the startup sequence.

Thanks for the feedback.

– Juha

Posted by juha at Jun 26, 2013 14:56

So indeed looking at the timestamps of your log (thanks for posting it!) it does seem like sensor startup is taking up to 5 minutes. One thing ORCJAVA-294 modifies is the fetching of the initial statuses from the KNX bus at startup. I suspect this might have an impact.

Posted by juha at Jun 26, 2013 15:05

One more thing I noticed. In my design, I have a Range sensor connected to a status command with DPT 9.001. In my old version it works without problems, but in this new version, I only get N/A.
This is not a big problem for me, I can change to a custom sensor.
I just wanted you to know that it works different.

Posted by kenta at Jun 27, 2013 13:28

Juha is right.

Aftert changing to use EventListener which updates the sensor based on bus events, I also added an explicit read when a sensor is created to have an inital status. The read causes the thread to wait for 3 seconds for each sensor (see public synchronized void read(GroupValueRead command) in KNXIpConnectionsManager.java. I don't know why we have that wait.

We have to check if removing the wait causes any problems because this is done during controller startup.

Posted by mredeker at Jun 27, 2013 21:59

I tried without that delay. Sometimes it works as it should but usually I don't get any value from two of my over hundred KNX sensors (it's always the same two that dosen't work).

I even tried to change the time of the delay. With one second delay, I even got more non working sensors than without delay. With 2 seconds, it has worked as well as with 3 seconds delay (atleast for me). But even with the 2 seconds delay it will start up too slow.

Posted by kenta at Jun 29, 2013 23:22

Yes the delay is a regular timeout waiting for a frame response. Which explains why when you go down in value you get less responses, therefore larger number of sensors whose value in your user interface remains unknown.

Overall, I don't think changing the KNX stack is the right way to go. It was working fine before. We did the same initial fetching of values before as well, the difference was it was done outside of the startup sequence. The original ORCJAVA-294 patch needs to be modified to reflect this.

This is similar to the Vera issue where the protocol is loaded eagerly even when no Vera configuration is present, rather than initialized lazily.

Posted by juha at Jun 30, 2013 10:28

BTW, thanks a lot for making the experiment with the delay and reporting it back here.

Posted by juha at Jun 30, 2013 10:29

Makes sense.
Do you think it would be ok to change it in that way that the first call to the sensor would trigger the read if no value was received yet?
Vera should only be loaded if present in the controller config which defines the CommandBuilderClass. If that is always loaded there could be a bug.

Posted by mredeker at Jun 30, 2013 20:50

Do you think it would be ok to change it in that way that the first call to the sensor would trigger the read if no value was received yet?

This puts the network latency on first load of an UI screen, and it impacts the HTTP "server push" timeouts. This may or may not be ok. For single sensor on the screen, a worst case scenario of 3 second network latency might be ok. Multiple sensors and fetching values sequentially rather than in parallel and the user experience may likely be rather undesirable.

Alternative is to spawn the value reads on a separate thread(s) that are outside of the controller startup sequence. Right now it seems the network latency is being added sequentially on each sensor init since the initialization occurs in a single thread. The earlier implementation was likely doing the fetch in the sensor's own thread (first poll found a null in state map and initiated a read request) so it didn't affect startup time or the initialization thread.

Posted by juha at Jul 01, 2013 15:57

Seen a vera exception a few times by now but didn't track it down yet. There's something there to fix. Whether config is present or not should not show up as a stack trace to the user.

Posted by juha at Jul 02, 2013 09:04

Also should we package vera as a separate JAR then similar to Z-wave ?

Posted by juha at Jul 02, 2013 09:07

Kenneth,

Will be attempting to patch the ORCJAVA-294 to avoid the startup delay next. Would need you to test this.

– Juha

Posted by juha at Aug 03, 2013 22:49

Test binary available in OpenRemote-Controller-2.1.0_FM_ORCJAVA-294_KNXDelay.zip

Posted by juha at Aug 04, 2013 11:23

Hi Juha.

Thanks for the new version. Now I've tried it and it starts up fast (6000ms). But unfortunately I have to tell, that the initialization goes wrong on three of my sensors (always the same three).

I get almost the same result as when I tried it without the delay.

Posted by kenta at Aug 04, 2013 23:08

Thanks for trying. So it sounds like two separate issues – one with the startup (fixed, will need to clean it up and merge to release branches) and another one yet unidentified.

Are your sensors DPT 9.xxx type?

There was another bug report about DPT 9.xxx here http://www.openremote.org/pages/viewpage.action?pageId=22874087, curious if it's the same one.

Posted by juha at Aug 05, 2013 10:11

Yes, I also believe that there are two different problems. One is a timing problem and the other is something with DPT 9.xxx and a range sensor (as I wrote Jun. 27, I had problems with the Range sensor and DPT 9.xxx even with the original 3-second delay).

But unfortunately I don't think the timing problem is completely solved, because with the original 3-second delay it is just one sensor that doesn't work (my only Range DPT9.xxx sensor). With this new version, it is also a couple of custom sensors with different DPTs that doesn't work.

Today I tried to reboot the controller about twenty times and some times it has been even more than the usual three sensors that I didn't receive any values ​​from. I have also seen that a sensor which I initially didn't receive any value from, has started working after a while.

I tried to log the KNX-bus while I started the controller (with my ETS).
What I could see, was that the sensors that hadn't been initiated right, there had the controller made ​​a "reading" twice with 250-500 ms intervals (except the nonworking Range DPT9.xxx sensor). It also received two responses from the KNX device. For all other sensors, the controller just did one reading.

Posted by kenta at Aug 06, 2013 00:51

Well that sucks.

I don't have time to look into this more today. I'll see by tomorrow which way I'm going to go with this patch set. I might just start rolling them back. The root patch that changed the communication layer provides almost no value whatsoever.

Posted by juha at Aug 06, 2013 08:35

Kenneth,

I've gone back to Jussi's thread here http://www.openremote.org/pages/viewpage.action?pageId=22874087

I need to isolate the issues to be able to track them down. Please see if you can provide feedback there.

1) Track down where DPT 9.xxx started failing
2) Remove startup delay in ORCJAVA-294 patch (fix known)
3) Then look at any remaining issues in your set up.

Posted by juha at Aug 06, 2013 10:18

There are two new binaries to test posted here: http://www.openremote.org/pages/viewpage.action?pageId=22874087&focusedCommentId=22874471&#comment-22874471

They should rollback the changes that were causing the long initial startup delay, so might be worth trying – posting them to track down the issue with DPT 9.xxx

Posted by juha at Aug 06, 2013 16:51

Have been testing the DPT 9.xxx regressions with Jussi, and the last binary to test would be here: OpenRemote-Controller-2.1.0_SNAPSHOT-R8778-ORCJAVA-291-301.zip.

It includes all other KNX patches except the ORCJAVA-294 (with startup delay). Would be curious to know what your experience is with that binary. So far the earlier patches didn't reveal any regressions.

Posted by juha at Aug 06, 2013 23:58

Hi,

Now I've done a quick test of the "Open Remote Controller 2.1.0_SNAPSHOT-R8778-ORCJAVA-291-301" and it is working properly for me. (except DPT 16.001).

Posted by kenta at Aug 07, 2013 00:36

Sorry that I haven't had time to test the previous versions, but I'm on a family holiday in Mallorca and my test time is limited to when the rest of the family has gone to sleep.

Is it still of interest that I test the other versions?
Tomorrow I will fly back home and won't be able to do any tests, but from Thursday onwards, I will have easier to find time for testing.

For me, the "DPT 9.xxx problem" only occurs when DPT 9.xxx is linked to a Range Sensor. Have Jussi or any one else problems with PDT 9.xxx linked to a Level or Custom sensor?

Posted by kenta at Aug 07, 2013 01:38

Thanks.

ORCJAVA-301 should have added DPT 16.001 so that sounds odd. I guess I'll need to review it again. I assume DPT 9.xxx is now fine then?

Posted by juha at Aug 07, 2013 18:58

So far the reports from Jussi are the DPT 9.xxx is working as expected.

So now the remaining issue is getting the DPT 16.xxx to work, and then looking at if it is at all possible to get ORCJAVA-294 included without breaking everything else.

Posted by juha at Aug 07, 2013 18:59

I see what the issue is with DPT 16.xxx and will fix it and update the binary.

Posted by juha at Aug 07, 2013 19:09

Yes. DPT 9.xxx is working.

Posted by kenta at Aug 07, 2013 20:01
Document generated by Confluence on Jun 05, 2016 09:31