Indigo Restful Interface Python Wrapper

What is the Indigo Restful Interface?

The Indigo Web server, as of Version 4, includes a restful (Representational State Transfer) web interface.  REST interfaces are an attempt to make an easy way to simplify access to server-based data.  They allow data to be sent back to the server, or changing the information on the server, in a structured way.  This way the designers have a extendable structure mechanism to work with, and do not have to re-invent the wheel.

While the Restful interface is excellent, there can be many steps taken to do something simple.  For example, getting a list of variables from the Indigo server.  The Restful wrapper has to do several steps and convert the data into more useful structure.  To help make it easier to other programmers, I have written this wrapper around the Indigo Restful interface, so that they do not need to keep re-inventing the same code over and over again.

This higher level wrapper, simplifies the details by abstracting the process.

Donate to help continue the development
of the Indigo Restful API Wrapper

The code, is available from Google Code for the project.

What Does the API Support?

Currently the wrapper supports:

  • Added get_device_list, and get_device_by_name
    • depreciating fetch_devices_from_indigo, and related functions.
  • Added set_thermostat_heating_mode, and set_thermostat_fan_mode
  • Fetch_devices_from_indigo
  • change_device_state_by_name
  • toggle_device_state_by_name
  • change_brightness_state_by_name
  • set_variable_by_name
  • get_variable_list
  • get_actiongroup_list
  • get_actiongroup_by_name
  • activate_actiongroup_by_name
  • get_variable_by_name
  • return_device_from_insteonaddr
  • return_device_from_x10_addr

What are the Future Plans for the Python Wrapper?

The wrapper is not in general use with my current set of plugins, and attachment scripts, so the development of this toolkit is highly dependant on suggestions made from the Indigo community.  I expect that I will probably be using this wrapper more when v5 of Indigo is released.  So I will be happy to consider any additions or modifications, as the community makes those suggestions.