I am now an OpenRemote contributor

I am now an OpenRemote contributor. I am adding text to speech, sending emails and a generic serial device (suitable for driving Arduino projects), to OpenRemote.

I have had to change the text to speech generation for licensing reasons. FreeTTS uses the Sun/Oracle jsapi1 library which is not open source. Juha Lindfors of OpenRemote found an open source jsapi2/jsr 113 project which works with FreeTTS, so I converting things to use that in both HouseControl and OpenRemote. For OpenRemote, I am adding a text to speech protocol to allow you to add commands that speak text on the machine running the OpenRemote serever.

For email, I am adding an email command. I am attempting to make it configurable so that it works with multiple email systems, not just Google Mail.

Email and Speak commands are not very useful in OpenRemote by themselves, as the main use is likely to be from rules. I will attempt to follow a suggestion by Juha and add extra facades for the Drools rules system that OpenRemote uses, so that it is easy to add speech and email from OpenRemote rules.

The generic serial protocol that I am attempting to add to OpenRemote, will allow an Arduino connected by USB or another serial link to be driven from OpenRmote and application-specific data to be sent to it.

This entry was posted in Home automation and tagged . Bookmark the permalink.

8 Responses to I am now an OpenRemote contributor

  1. Anton says:

    Congrats for your work! Amazing!
    I have interest to start programming OpenRemote to control an Arduino. Do you have any starting guide? How do you program the commands in the OpenRemote interface?

  2. Lionel says:

    I have tested the UART (Serial) communication, between arduino uno and openremote on windows but it doesn’t work.
    The led, on arduino board, don’t flash when I send data from OR to Arduino UNO that is why I think I have a problem with OR.
    Does anyone have an idea to resolve it ?


  3. lewisharrisonwood says:

    Hi, I am trying to connect openremote to control my HDMI matrix via RS232. I have a cable connected to COM1 on my computer and the serial port on the Matrix. I am having difficulties getting openremote to send the commands.

    Do you have any ideas on how to get openremote to communicate through RS232 serial?

    My matrix is HKM-44 UKV2 and the codes and serial port settings are at the following link:

    I would be grateful on any help you can provide as I have been pulling my hair out for a few months trying to do this.

  4. Lawrie Griffiths says:

    I added serial support to openremote and I think it is in the latest version, but I never did a very complete job and I don’t use openremote that much any more. A few people have reported problems with it, which I have not yet looked at. I think it expects a reply from the serial device and it is not too flexible about the format of the reply.

    How far have you got? What computer and OS are you using? I am not familiar with HDMI matrix devices.

    • lewisharrisonwood says:

      Hi, I have found the link to the latest version and have setup the serial connection. When I try it on the remote it comes up with the following message: Error in controller. Please check controller log. I am not exactly sure where the log file is for more details and I have tried all of the different commands in hex, ascii and rs232.

      The matrix is used to switch between HDMI inputs and outputs as I have the boxes that would normally be under the TV hidden away out of sight and connected to every TV in the house. This of course does create an interesting problem with remote controls, however using phone apps we can control almost everything with the exception of switching the unit from one source to another.

      I am using a PC running Windows 8.1 64 Bit, openremote controller and Kodi.

    • lewisharrisonwood says:

      I just found this in the dev.log if it is of any help:

      2015-04-08 19:52:02,047 ERROR [HTTP-Thread-1]: Error in handling REST API response: Could not initialize class gnu.io.CommPortIdentifier
      java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier
      at org.openremote.controller.protocol.serial.SerialCommandBuilder.build(SerialCommandBuilder.java:86)
      at org.openremote.controller.command.CommandFactory.getCommand(CommandFactory.java:164)
      at org.openremote.controller.component.control.button.ButtonBuilder.build(ButtonBuilder.java:82)
      at org.openremote.controller.component.ComponentFactory.getComponent(ComponentFactory.java:56)
      at org.openremote.controller.service.impl.ControlCommandServiceImpl.getControl(ControlCommandServiceImpl.java:155)
      at org.openremote.controller.service.impl.ControlCommandServiceImpl.trigger(ControlCommandServiceImpl.java:79)
      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:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      at java.lang.Thread.run(Thread.java:662)

  5. lewisharrisonwood says:

    I looked again at the log file and found the following:

    2015-04-08 20:25:14,435 ERROR [HTTP-Thread-1]: Error in handling REST API response: C:\openremote\webapps\controller\WEB-INF\lib\native\rxtxSerial.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform
    java.lang.UnsatisfiedLinkError: C:\openremote\webapps\controller\WEB-INF\lib\native\rxtxSerial.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform

    After a bit of googling I managed to find a 64-bit version of the java dll’s from here:


    That has sorted the above error out, but now I do not get any change in the matrix at all and no further error messages. I am wondering if I have the wrong type of serial cable…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s