{"id":3820,"date":"2010-08-11T20:33:38","date_gmt":"2010-08-12T00:33:38","guid":{"rendered":"http:\/\/www.schollnick.net\/wordpress\/"},"modified":"2012-06-20T09:22:55","modified_gmt":"2012-06-20T13:22:55","slug":"indigo-restful-interface-python-wrapper","status":"publish","type":"page","link":"http:\/\/www.schollnick.net\/wordpress\/home-automation\/indigo-restful-interface-python-wrapper\/","title":{"rendered":"Indigo Restful Interface Python Wrapper"},"content":{"rendered":"<p><strong>What is the Indigo Restful Interface?<\/strong><\/p>\n<p>The Indigo Web server, as of Version 4, includes a restful (Representational State Transfer) web interface. \u00c2\u00a0REST interfaces are an attempt to make an easy way to simplify access to server-based data. \u00c2\u00a0They allow data to be sent back to the server, or changing the information on the server, in a structured way. \u00c2\u00a0This way the designers have a extendable structure mechanism to work with, and do not have to re-invent the wheel.<\/p>\n<p>While the Restful interface is excellent, there can be many steps taken to do something simple. \u00c2\u00a0For example, getting a list of variables from the Indigo server. \u00c2\u00a0The Restful wrapper has to do several steps and convert the data into more useful structure. \u00c2\u00a0To 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.<\/p>\n<p>This higher level wrapper, simplifies the details by abstracting the process.<\/p>\n<table>\n<tbody>\n<tr>\n<td>[toc=&#8221;2,3,4&#8243; title=&#8221;Table of contents&#8221;]<\/td>\n<td align=\"right\">Donate to help continue the development<br \/>\nof the Indigo Restful API Wrapper<br \/>\n[paypal-donation purpose=&#8221;Software Donation&#8221; reference=&#8221;Indigo Restful API Wrapper&#8221;]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The code, is available from <a href=\"http:\/\/code.google.com\/p\/schollnick-programming\/source\/browse\/#svn\/trunk\/Indigo%20Restful%20API\">Google Code<\/a> for the project.<\/p>\n<h2>What Does the API Support?<\/h2>\n<p>Currently the wrapper supports:<\/p>\n<ul>\n<li>Added get_device_list, and get_device_by_name\n<ul>\n<li>depreciating fetch_devices_from_indigo, and related functions.<\/li>\n<\/ul>\n<\/li>\n<li>Added set_thermostat_heating_mode, and set_thermostat_fan_mode<\/li>\n<li>Fetch_devices_from_indigo<\/li>\n<li>change_device_state_by_name<\/li>\n<li>toggle_device_state_by_name<\/li>\n<li>change_brightness_state_by_name<\/li>\n<li>set_variable_by_name<\/li>\n<li>get_variable_list<\/li>\n<li>get_actiongroup_list<\/li>\n<li>get_actiongroup_by_name<\/li>\n<li>activate_actiongroup_by_name<\/li>\n<li>get_variable_by_name<\/li>\n<li>return_device_from_insteonaddr<\/li>\n<li>return_device_from_x10_addr<\/li>\n<\/ul>\n<h2>What are the Future Plans for the Python Wrapper?<\/h2>\n<p>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. \u00c2\u00a0I expect that I will probably be using this wrapper more when v5 of Indigo is released. \u00c2\u00a0So I will be happy to consider any additions or modifications, as the community makes those suggestions.<\/p>\n<p>[iframe http:\/\/dl.dropbox.com\/u\/241415\/Indigo_Restful\/indigo_restful_api.html]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is the Indigo Restful Interface? The Indigo Web server, as of Version 4, includes a restful (Representational State Transfer) web interface. \u00c2\u00a0REST interfaces are an attempt to make an easy way to simplify access to server-based data. \u00c2\u00a0They allow data to be sent back to the server, or changing the information on the server, <a class=\"read-more\" href=\"http:\/\/www.schollnick.net\/wordpress\/home-automation\/indigo-restful-interface-python-wrapper\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":35,"menu_order":3,"comment_status":"open","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"_links":{"self":[{"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/pages\/3820"}],"collection":[{"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/comments?post=3820"}],"version-history":[{"count":0,"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/pages\/3820\/revisions"}],"up":[{"embeddable":true,"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/pages\/35"}],"wp:attachment":[{"href":"http:\/\/www.schollnick.net\/wordpress\/wp-json\/wp\/v2\/media?parent=3820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- WP Super Cache is installed but broken. The constant WPCACHEHOME must be set in the file wp-config.php and point at the WP Super Cache plugin directory. -->