ORControl restructuring

I am currently restructuring ORControl to make it more modular.

It seems to have morphed into a configurable socket server that can control a large range of home automation devices. It controls the devices either directly over IP or via wireless transeivers. The transceivers are connected by USB or other serial connections.

It receives and executes commands in a language that I am provisionally calling “Housish”.

It does not directly provide user interfaces, but supports a wide variety of user interfaces, including:

  • OpenRemote Android, iOS and web console interfaces
  • An Android voice control app
  • A simple text chat interface
  • The AutomateIt Android app via an HTTP interface
  • LightwaveRF remotes, and potentially other IR or RF remotes
  • Anything else that can be configured to send socket or HTTP commands

I plan to add a gesture interface and eventually a direct brain interface. Open microphone interfaces may also be useful for voice control, so you can just speak from anywhere in the house. I am also considering a 2D or 3D graphical layout interface where you can interact with a model of the house. It would be good if I could project a hologram of it, and interact with that.

I need a better name for ORControl, as it now supports a lot more than just OpenRemote. I am provisionally calling it HouseControl.

As I said at the beginning of this post, I am restructuring the Java code. I have defined a set of interfaces and the configuration file tells me which classes to load to support each interface. This gives great flexibility in which products and device interfaces that I can support.

The interfaces that I have currently defined are

  1. LightControl – to control lights
  2. Socket Control – to control sockets
  3. Appliance Control – to control individual appliances monitors
  4. CameraControl – to control IP cameras including my home made one based on a Raspberry Pi
  5. SensorControl – to control wireless sensors, including my Jeenode based ones
  6. PowerControl – to monitor power and energy, e.g. bia the OpenEnergyMonitor emonTx
  7. RobotControl = for controlling mobile robots
  8. AVControl – for controlling Audio-Video devices such as TVs, receivers and set top boxes
  9. PlantControl – for monitoring plants
  10. MusicControl – for controlling music servers
  11. PhoneControl – for monitoring a mobile phone
  12. IPControl – for monitoring local internet devices
  13. SpeechControl – for text to speech generation
  14. HeatingControl – for control of central heating
  15. AlarmControl – for control of timer alarms
  16. CalendarControl – for calendar integration
  17. EmailControl – for sending emails
  18. BlindsControl – for controlling motorised blinds
  19. BellControl – for monitoring the door bell
  20. WeatherControl – for getting local weather data
  21. CosmControl – for sending data to COSM

There are lots more to add, if I want to control all the devices in my house.

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

2 Responses to ORControl restructuring

  1. Noob2this says:

    Hi lawrie,

    Your HA project sounds a lot like what I want to achieve when remodeling my house next year.

    Unfortunately I have only very basic programming skills but would really appreciate a walk through on how to set up a HA hub which can operate numerous rf switches and be controlled by voice (either via kinect or multidirectional microphone). Ideally I’d want to control around 10 lights, dimming also, 6 radiators and then motorised blinds. I was also wondering, baring in mind my sheer lack of programming ability, if its possible to have door sensors that trigger ip cameras and/or heating.

    I’ve looked at lightwave rf switches to do this coupled with the bundle pack from Home Automation Hub, I’m terms of hardware.

    I would greatly appreciate your views on feasibility of such a set up and the hardware and software you think I’ll need.

    Many thanks.

    • Geek Grandad says:

      Hi Sam,

      I am fairly new to this myself, particularly the electronics side, but I am an experienced programmmer.

      I don’t currently use anything from the Home Automation Hub project other than their Airwick room nodes. The main reason for this is that I am not convinced that using re purposed hardware like the Livebox and the Juggler is a good idea. I think these will become obsolete and harder to get hold of. I think there is a lot more momentum behind using the Raspberry Pi as a server for this sort of thing. I have not looked at the HAH software.

      I liked the OpenRemote software as it has high quality, modern user interfaces, it seems to be well supported, and it supports a lot of devices. I also have a personal preference for things written in Java. However, OpenRemote does not have interfaces to LightwaveRF, Arduino, Jeenodes and other things that I use, so I am writing my own software for that. It probably duplicate some of the things in the HAH software.

      My Java software is not available yet. The only home automation software of mines that is being used is the LightwaveRF Arduino library.

      I don’t know of any complete solutions that support LightwaveRF, voice control and the other things that I want to do, which is why I a writing my own software.

      My Java software will probably become an open source project soon. I hope to get other collaborators.

      I currently do not support voice control in the way that you want to use it. I currently just have voice control from an Android App. I will probably add PC/Linux applications for voice control using the Kinect and other microphones.

      When my software is a bit mature, I will write tutorials oon how to set it up.

      You have several options. You can look at HAH, OpenRemote and other open source software. You can look at my Java software when it is released.

      If you want to go with LightwaveRF devices, you can use the LightwaveRF Wifi hub, or you can use my Arduino library. There are a few people successfully using my library. You can also look at what support HAH has for LightwaveRF via the RFXCOM device or via Arduino or the Wifi hub.

      I like the LightWaveRF devices but they do have limitations. The main one being that you cannot get the status of devices. I would like the sockets to be like the EDF IAM devices that let you turn them on and off, poll the status, and get the power usage.

      Door/window switches with LightwaveRF devices should not be a problem. LightwaveRF does two versions, a 434MHz door/window switch and an 868Mhz window switch that is designed to switch radiators on and off. Their solution with or without the Wifi hub should let you do what you want to do. My solution should be more flexible. I can use OpenRemote (or other) rules to decide hat to do when doors and windows are opened and closed.

      My solution will let me trigger camera actions from LightwaveRF (or other) switches. I don’t think the LightwaveRF software and hardware on its own can do this. Finding good camera solutions seems hard at the moment. There are not that many reasonably priced IP cameras. The cheap ones are only suitable for indoor use.

      The LightwaveRF radiator devices uses 868Mhz and my Arduino library does not support them. I hope to do this in the future. I have one LightwaveRF radiator switches, one of their thermostats and one of their 868Mhz window switches. Mine are older version. I think they redesigned these and are bringing out new versions.

      There are lots of solutions for motorised blinds, but I have not decided what I am doing for these yet. I am about to buy roller blinds for my kitchen. I have Controliss Venetian blinds in my living room but have not yet worked out how to integrate them into my system. They use 2.4Ghz radio signals.

      So, I am not sure what to recommend. LightwaveRF’s hardware and software will give you a working solution, but you are stuck with their apps and interfaces and integrating with other devices is probably not easy. The established open source software like HAH and OpenRemote does not have much support for LightwaveRF. My solution (which uses OpenRemote, and adds to it) may well do what you want, but it is immature and not yet released. I would try things out a bit, and see how my software progresses.

      Home automation is evolving very fast and the moment, but finding good, reasonably priced, flexible solutions, with all the functionality that you want, is not easy.

      I enjoy developing the stuff and it is really satisfying when I get new stuff like voice control working.

      Lawrie

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