v 2.2.2 and OpenRemote

Discussions about Z-Way software and Z-Wave technology in general
mcfanda
Posts: 43
Joined: 08 Mar 2013 14:12

Re: v 2.2.2 and OpenRemote

Post by mcfanda »

Browser calls are working just fine. I've checked and OR logs in correctly. As you said, the encoding of the URL in OR is the problem. On OR forum, however, they claim the encoding is correct!
pz1
Posts: 2053
Joined: 08 Apr 2012 13:44

Re: v 2.2.2 and OpenRemote

Post by pz1 »

mcfanda wrote:On OR forum, however, they claim the encoding is correct!
OpenRemote does communicate http commands with uname/passwords correctly to a great number of applications. I have successfully tested it on Kodi(formerly XBMC)
With the "anonymous user" solution I described above I run the following repeated command successfully on v2.2.2
Attachments
Capture.PNG
Capture.PNG (9.7 KiB) Viewed 11935 times
Since 29-12-2016 I am no longer a moderator for this forum
pz1
Posts: 2053
Joined: 08 Apr 2012 13:44

Re: v 2.2.2 and OpenRemote

Post by pz1 »

If you really think URL encoding is a problem, you could try the OpenRemoteHelpers App. Do install the version from the App store. The API is not as complete as ZWAveAPI, but simpler for users. Your call in that notation should be somthing like this

Code: Select all

http://rasp_IP:8083/OpenRemote/SwitchMultilevel/6/0
millahjovich
Posts: 5
Joined: 09 Jun 2016 13:49

Re: v 2.2.2 and OpenRemote

Post by millahjovich »

I should add that calling the Zway API with the browser works just fine
pz1
Posts: 2053
Joined: 08 Apr 2012 13:44

Re: v 2.2.2 and OpenRemote

Post by pz1 »

millahjovich wrote:I should add that calling the Zway API with the browser works just fine
The problem is not with browser access. User mcfanda did already report that in an earlier response to this topic. The core issue is with interfacing with OpenRemote
joseph
Posts: 3
Joined: 16 Jun 2016 14:53

Re: v 2.2.2 and OpenRemote

Post by joseph »

Hi,

I was wondering if you can help. I am trying to get my openremote to interface with my zwave device however I am having some trouble. my thoughts are that this is down to the OpenRemote Helpers module. I have got the openremote to interact with the device using a raspbian jessie os running java 8 but I wanted to incorporate rules into the system. I downgraded to raspbian wheezy and installed java 6 and managed to get the OpenRemote to control a GPIO pin and to interact with that pin using a cron based rule (OR calls a Shell script and the script interacts with the GPIO). However when I try to interact with the TKBHome zwave device it wont work. I can get the zwave controller to work when I send the following HTTP commands via a browser so I know it cannot be the controller setup.

These are the commands I can get to control the device via the web browser.
As far as I am aware these are not OpenRemote Helper based commands:
http://IP:8083/ZWaveAPI/Run/devices[6]. ... y.Set(255)
http://IP:8083/ZWaveAPI/Run/devices[6]. ... ary.Set(0)

however I cannot get the Open remote to send its HTTP commands (through the openremote controller)which as I understand are based on OpenRemote Helpers:
http://IP:8083/OpenRemote/SwitchBinaryOn/6/0
http://IP:8083/OpenRemote/SwitchBinaryOff/6/0

Also I have noticed in my zwave.me account that there is no longer any mention of OpenRemote helpers under active apps in the apps settings. Where as it was there when I was running the Raspbian Jessie and Java 8 setup.

I have noticed (unsure if this is at all related) that the LED1 light on the zwave transceiver is now lit up and hasn’t switched off

Do you know of any solution to this issue?

PS: sorry if this is message is placed in the wrong thread!
pz1
Posts: 2053
Joined: 08 Apr 2012 13:44

Re: v 2.2.2 and OpenRemote

Post by pz1 »

joseph wrote:Hi,

I was wondering if you can help. I am trying to get my openremote to interface with my zwave device however I am having some trouble. my thoughts are that this is down to the OpenRemote Helpers module. I have got the openremote to interact with the device using a raspbian jessie os running java 8 but I wanted to incorporate rules into the system. I downgraded to raspbian wheezy and installed java 6 and managed to get the OpenRemote to control a GPIO pin and to interact with that pin using a cron based rule (OR calls a Shell script and the script interacts with the GPIO). However when I try to interact with the TKBHome zwave device it wont work. I can get the zwave controller to work when I send the following HTTP commands via a browser so I know it cannot be the controller setup.
I have no experience with running OpenRemote on RaspberryPi. Falling back on the unsafe/unsuported java 6 is not something I would recommend. My openremote runs on a Synology NAS station. So I'll try to answer from that background
These are the commands I can get to control the device via the web browser.
As far as I am aware these are not OpenRemote Helper based commands:
http://IP:8083/ZWaveAPI/Run/devices[6]. ... y.Set(255)
http://IP:8083/ZWaveAPI/Run/devices[6]. ... ary.Set(0)

however I cannot get the Open remote to send its HTTP commands (through the openremote controller)which as I understand are based on OpenRemote Helpers:
http://IP:8083/OpenRemote/SwitchBinaryOn/6/0
http://IP:8083/OpenRemote/SwitchBinaryOff/6/0
I think you encountered the authentication problem. The Zway-OR integration manual describes in the second information frame a 4 step workaround. that allows you to use both ZWaveAPI and the OpenRemoteHelpers
Also I have noticed in my zwave.me account that there is no longer any mention of OpenRemote helpers under active apps in the apps settings. Where as it was there when I was running the Raspbian Jessie and Java 8 setup

I don't think that is related with Java 8 setup. Anyhow you can re-install OpenRemoteHelpers from the online Appstore. (the only difference with the standard distribution is that this newer ORHelper has the SetMetric command.
I have noticed (unsure if this is at all related) that the LED1 light on the zwave transceiver is now lit up and hasn’t switched off

Do you know of any solution to this issue?

PS: sorry if this is message is placed in the wrong thread!
It is OK to post here
Since 29-12-2016 I am no longer a moderator for this forum
joseph
Posts: 3
Joined: 16 Jun 2016 14:53

Re: v 2.2.2 and OpenRemote

Post by joseph »

pz1,
Thanks for your quick reply, its much appreciated. So I have tried the below steps with no avail (These are the steps you were referring to, right?)
****************************

Create a room named devices, and assign all ZWay devices to that room
Create a user named anonymous with role anonymous
Edit user anonymous and allow access to room devices
(If you already assigned devices to rooms, you have to give user anonymous access to all those rooms)

Your OpenRemote client should have unrestricted access to ZWay now.
****************************
If it is of any help this it the error message I get when I try and interact with the zwave device through the openremote webconsole:

****************************
ERROR [HTTP-Thread-4]: ClientProtocolException when executing HTTP method
org.apache.http.client.HttpResponseException: Not Found
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:67)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:54)
at org.openremote.controller.protocol.http.HttpGetCommand.requestURL(HttpGetCommand.java:238)
at org.openremote.controller.protocol.http.HttpGetCommand.send(HttpGetCommand.java:166)
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 org.openremote.controller.rest.RESTAPI.doGet(RESTAPI.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
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.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
ERROR [Polling thread for sensor: Sensor]: ClientProtocolException when executing HTTP method
org.apache.http.client.HttpResponseException: Not Found
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:67)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:54)
at org.openremote.controller.protocol.http.HttpGetCommand.requestURL(HttpGetCommand.java:238)
at org.openremote.controller.protocol.http.HttpGetCommand.run(HttpGetCommand.java:260)
at java.lang.Thread.run(Thread.java:701)
****************************

Also I tried to find the Openremote helpers from the Zwave>me apps store however I coudnt find any mention of the helpers app. Perhaps I am looking in the wrong place? You wouldn’tknow where I could find it would you? Also how would you install the app; do you just copy and paste a folder into a directory (if so which?) or is it that you include a token in the Add Token field in the zwave.me admin account settings?

Thanks again for the help!!

Joe
pz1
Posts: 2053
Joined: 08 Apr 2012 13:44

Re: v 2.2.2 and OpenRemote

Post by pz1 »

joseph wrote:pz1,
Thanks for your quick reply, its much appreciated. So I have tried the below steps with no avail (These are the steps you were referring to, right?)
****************************

Create a room named devices, and assign all ZWay devices to that room
Create a user named anonymous with role anonymous
Edit user anonymous and allow access to room devices
(If you already assigned devices to rooms, you have to give user anonymous access to all those rooms)

Your OpenRemote client should have unrestricted access to ZWay now.
****************************
Correct!
If it is of any help this it the error message I get when I try and interact with the zwave device through the openremote webconsole:

****************************
ERROR [HTTP-Thread-4]: ClientProtocolException when executing HTTP method
org.apache.http.client.HttpResponseException: Not Found
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:67)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:54)
at org.openremote.controller.protocol.http.HttpGetCommand.requestURL(HttpGetCommand.java:238)
at org.openremote.controller.protocol.http.HttpGetCommand.send(HttpGetCommand.java:166)
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 org.openremote.controller.rest.RESTAPI.doGet(RESTAPI.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
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.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
ERROR [Polling thread for sensor: Sensor]: ClientProtocolException when executing HTTP method
org.apache.http.client.HttpResponseException: Not Found
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:67)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:54)
at org.openremote.controller.protocol.http.HttpGetCommand.requestURL(HttpGetCommand.java:238)
at org.openremote.controller.protocol.http.HttpGetCommand.run(HttpGetCommand.java:260)
at java.lang.Thread.run(Thread.java:701)
****************************
Sorry I don't have enough knowledge of OpenRemote and Java to tell what is wrong here
Also I tried to find the Openremote helpers from the Zwave>me apps store however I coudnt find any mention of the helpers app. Perhaps I am looking in the wrong place? You wouldn’tknow where I could find it would you? Also how would you install the app; do you just copy and paste a folder into a directory (if so which?) or is it that you include a token in the Add Token field in the zwave.me admin account settings?
Joe
Just select and then add the App as shown in the screen below. OpenRemoteHelpers is in the section Support external UIs
Capture.PNG
Capture.PNG (26.62 KiB) Viewed 11850 times

Update 2016-06-28
OpenRemote Pro now free for hobbyists
joseph
Posts: 3
Joined: 16 Jun 2016 14:53

Re: v 2.2.2 and OpenRemote

Post by joseph »

PZ1,

Finally found it :) , that got it going, cheers!!

Much appreciated,

Joe
Post Reply