HomeSeer is an affordable and extremely robust automation controller. It is available as either a preconfigured self-contained hardware device, or as a software download that allows you to install it on a variety of platforms and operating systems.
As with other automation controller platforms, HomeSeer supports integration of numerous devices through the use of plug-ins. Many of them are free to install, and others require a modest registration fee. The company also has a very active community user base and forums site where users can get answers to questions and receive assistance in resolving implementation challenges. There is also the official company customer support, unlike most open source options.
HomeSeer supports scripts written in Visual Basic and C, which opens the door for creating solutions to unique situations. Where HomeSeer falls short is with respect to native support for Python. Many home enthusiasts have Raspberry Pi devices because of how affordable they are and easy to work with. There are a variety of peripheral sensors and devices that can be configured with the Raspberry Pi that can greatly enhance a home automation environment. The challenge can be how to either trigger a Python script from HomeSeer, or how to get information from the Raspberry Pi to HomeSeer…. if HomeSeer isn’t being run on a Raspberry Pi.
One of these issues is easier to solve than the other. All devices and events in HomeSeer have a unique identification number. Through the use of JSON, commands can be sent to the HomeSeer controller to either control a device or trigger an event. It doesn’t matter what the source platform is or the programming language, as long as it can generate and send JSON commands, HomeSeer can respond accordingly.
Now, for executing Python code from within HomeSeer… first, Python will need to be installed on the system running HomeSeer. Then script files that execute the desired Python code are created and placed in the ‘scripts’ folder within the HomeSeer installation directory. Finally, create a script file that will execute the Python script. To make all of this work, HomeSeer has an Event action option that allows you to run a script. Simply select the the initiating script to run and when the Event is triggered, the script file will execute the Python script and your code will run.
I am using this very method in my own environment. I have an Event that runs on a recurring schedule that will execute a Python script that retrieves data from an RSS feed, parses the XML, and then updates HomeSeer device values.
There is a plug-in that is available that allows you to integrate a Raspberry Pi with HomeSeer to configure, monitor and control the GPIO of the Raspberry Pi. It is a legacy plug-in originally created for version three of HomeSeer and now version 4 is the current release, but there are some who have it working with the current version. It can be a bit more involved to get it configured, specially if the HomeSeer system is running on a Windows system.
Given the fact that the plug-in is a legacy version and focuses on the GPIO, along with the configuration steps required, a more robust option might be to create a client/server (Python sockets) solution. This could offer greater possibilities for a home automation system as it opens you to all of the functionality available from a Raspberry Pi.
This has been a simple overview of running Python from HomeSeer, so if you have questions just send us a message.