From f9d712d175ab8e956181c8e61d3c4b05a58d261d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 29 Oct 2013 00:22:38 -0700 Subject: [PATCH] API updated to be RESTful --- README.md | 79 ++-- android-tasker/Home_Assistant.apk | Bin 952593 -> 952964 bytes android-tasker/Home_Assistant.prj.xml | 137 ++++--- docs/screenshot-debug-interface.png | Bin 51645 -> 91745 bytes homeassistant/httpinterface.py | 542 ++++++++++++++------------ homeassistant/remote.py | 51 +-- homeassistant/test.py | 123 +++--- 7 files changed, 495 insertions(+), 437 deletions(-) diff --git a/README.md b/README.md index 9243c29f4f9..addc0128044 100644 --- a/README.md +++ b/README.md @@ -34,47 +34,54 @@ A screenshot of the debug interface (battery and charging states are controlled To interface with the API requests should include the parameter api_password which matches the api_password in home-assistant.conf. -The following API commands are currently supported: +All API calls have to be accompanied by an 'api_password' parameter and will +return JSON. If successful calls will return status code 200 or 201. - /api/state/categories - POST - parameter: api_password - string - Will list all the categories for which a state is currently tracked. Returns a json object like this: +Other status codes that can occur are: + - 400 (Bad Request) + - 401 (Unauthorized) + - 404 (Not Found) + - 405 (Method not allowed) - ```json - {"status": "OK", - "message":"State categories", - "categories": ["all_devices", "Paulus_Nexus_4"]} - ``` +The api supports the following actions: - /api/state/get - POST - parameter: api_password - string - parameter: category - string - Will get the current state of a category. Returns a json object like this: +`/api/states` - GET +Returns a list of categories for which a state is available +Example result: +```json{ + "categories": [ + "Paulus_Nexus_4", + "weather.sun", + "all_devices" + ] +}``` - ```json - {"status": "OK", - "message": "State of all_devices", - "category": "all_devices", - "state": "device_home", - "last_changed": "19:10:39 25-10-2013", - "attributes": {}} - ``` +`/api/states/` - GET +Returns the current state from a category +Example result: +```json{ + "attributes": { + "next_rising": "07:04:15 29-10-2013", + "next_setting": "18:00:31 29-10-2013" + }, + "category": "weather.sun", + "last_changed": "23:24:33 28-10-2013", + "state": "below_horizon" +}``` - /api/state/change - POST - parameter: api_password - string - parameter: category - string - parameter: new_state - string - parameter: attributes - object encoded as JSON string (optional) - Changes category 'category' to 'new_state' - It is possible to sent multiple values for category and new_state. - If the number of values for category and new_state do not match only - combinations where both values are supplied will be set. - - /api/event/fire - POST - parameter: api_password - string - parameter: event_name - string - parameter: event_data - object encoded as JSON string (optional) - Fires an 'event_name' event containing data from 'event_data' +`/api/states/` - POST +Updates the current state of a category. Returns status code 201 if successful +with location header of updated resource. +parameter: new_state - string +optional parameter: attributes - JSON encoded object + +`/api/events/` - POST +Fires an event with event_type +optional parameter: event_data - JSON encoded object +Example result: +```json{ + "message": "Event download_file fired." +}``` Android remote control ---------------------- diff --git a/android-tasker/Home_Assistant.apk b/android-tasker/Home_Assistant.apk index 9f75e86569e92be7575400784529d87cd3fb408f..9e3924aa8f2fc42f16aad271b0675be0de965d1d 100644 GIT binary patch delta 47465 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�QNx6$Q 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 delta 46933 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 diff --git a/android-tasker/Home_Assistant.prj.xml b/android-tasker/Home_Assistant.prj.xml index 4b789d07dd9..5a2ff8e8a57 100644 --- a/android-tasker/Home_Assistant.prj.xml +++ b/android-tasker/Home_Assistant.prj.xml @@ -1,7 +1,8 @@ 1381116787665 - 1381116787665 + true + 1382062270688 24 20 @@ -11,8 +12,7 @@ 1380613730755 - true - 1381001553706 + 1382769497429 25 23 20 @@ -26,7 +26,7 @@ 1380613730755 true - 1381110280839 + 1383003483161 26 22 20 @@ -37,13 +37,27 @@ + + 1380613730755 + true + 1383003498566 + 3 + 10 + 20 + HA Power AC + 10 + + 10 + + + 1380496514959 1500 true - 1381110261999 + 1382769618501 5 - 7 + 19 HA Battery Changed 203 @@ -53,14 +67,14 @@ 1381110247781 Home Assistant - 24,26,5,25 + 5,3,25,26,24 Variable Query,Home Assistant Start - 14,16,4,15,7,20,6,8,22,23,9,11,12,13 + 19,8,10,6,16,9,20,14,11,4,23,15,12,13,22 12 nl.paulus.homeassistant - 1.0 - 10 + 1.1 + 14 cust_animal_penguin @@ -69,7 +83,7 @@ -637534208 1381113309678 - 1381118413367 + 1381162068611 -1 688 Home Assistant Start @@ -308,9 +322,24 @@ + + 1380613530339 + 1383030846230 + 10 + Charging AC + + 130 + Update Charging + + + ac + + + + 1381110672417 - 1381116046765 + 1383030844501 11 Open Debug Interface 10 @@ -321,7 +350,7 @@ 1381113015963 - 1381116866174 + 1383030888271 12 Start Screen 10 @@ -338,6 +367,9 @@ 49 Home Assistant Start + + hd_aaa_ext_tiles_small + 1381114398467 @@ -354,16 +386,15 @@ 1381114829583 - 1381115098684 + 1383030731979 14 API Fire Event 10 116 %HA_HOST:%HA_PORT - /api/event/fire - api_password=%HA_API_PASSWORD -event_name=%par1 + /api/events/%par1 + api_password=%HA_API_PASSWORD @@ -372,7 +403,7 @@ event_name=%par1 1380262442154 - 1381115642332 + 1383030894445 15 Light On 10 @@ -391,7 +422,7 @@ event_name=%par1 1380262442154 - 1381115613658 + 1383030896170 16 Start Epic Sax 10 @@ -408,9 +439,29 @@ event_name=%par1 hd_aaa_ext_guitar + + 1380262442154 + 1383030903842 + 19 + Update Battery + 10 + + 116 + %HA_HOST:%HA_PORT + /api/state/change + api_password=%HA_API_PASSWORD +category=%HA_DEVICE_NAME.charging +new_state=%HA_CHARGING +attributes={"battery":%BATT} + + + + + + 1380613530339 - 1381116102459 + 1383030848142 20 Charging None @@ -425,7 +476,7 @@ event_name=%par1 1380613530339 - 1381116000403 + 1383030909347 22 Charging Wireless @@ -440,7 +491,7 @@ event_name=%par1 1380613530339 - 1381115997137 + 1383030849758 23 Charging USB @@ -455,7 +506,7 @@ event_name=%par1 1380262442154 - 1381115633261 + 1383030892718 4 Light Off 10 @@ -474,7 +525,7 @@ event_name=%par1 1380522560890 - 1381117976853 + 1383030900554 6 Setup 10 @@ -580,28 +631,9 @@ event_name=%par1 hd_ab_action_settings - - 1380262442154 - 1381111978825 - 7 - Update Battery - 10 - - 116 - %HA_HOST:%HA_PORT - /api/state/change - api_password=%HA_API_PASSWORD -category=%HA_DEVICE_NAME.battery -new_state=%BATT - - - - - - 1380262442154 - 1381115955507 + 1383030906782 8 Update Charging 10 @@ -613,23 +645,18 @@ new_state=%BATT - 116 - %HA_HOST:%HA_PORT - /api/state/change - api_password=%HA_API_PASSWORD -category=%HA_DEVICE_NAME.charging -new_state=%HA_CHARGING -category=%HA_DEVICE_NAME.battery -new_state=%BATT + 130 + Update Battery + + - + - 1380262442154 - 1381115659673 + 1383030890674 9 Start Fireplace 10 diff --git a/docs/screenshot-debug-interface.png b/docs/screenshot-debug-interface.png index 35b0dd86ff831efd8573c59bf24634b7033a24f3..631e080c877bd20fc12a2cdfa56d0950173f673b 100644 GIT binary patch literal 91745 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 literal 51645 zcmaI8bzD^8*Ds26w{&-RcQ?}A4bnp^p&&?ihosV}AP7izBhuX{lAJaS46HYJJdO+t{ub&(E&~4$d&?Vo z>$ux{`&mKkV5Du`t?j6kU9BAKwC${H13ZW9#9(0HXq2IXJnA)10<;&`>$qiqjbIt8=M)$l5tNDZPQ%>AZQRYxBn0 zM%b1{Qi4j%Uj&@M)y~_B%HP$+%}c~zoaR606#9C|No!r>iWN*?d7d)_kZ5+|L2LlbOSu>IJND(+5L>6La>A~C9A_vrEX>8wNSlI9iQ=MmtR<>r>>m67M-ljh}>l~xdxm6MYb{_kVu+--bZ?cBWo`&irmbF9Gs zcr0`&xO#wBma~I6`P$hkK-^ua{_~MVoc`zc!uvm-@4t?<{h!|p-~V_lCwMcQ&>Q=I zyV3vsE3kT?5C8YF1wZ`ng>UBuRyzbN>-Sf?$1pJc+{$v&y8eqtD*+D%zX&9suri#F zB4mhJQnA%pKJ#QSd!^9u=}_C0^HHnN$Y#YLzAQA-Qqhgz(;PNb;aeZ}Io<8-35m)$`4Pr}4j;P~78plkED)mLw-y{;GDw&n-lF*By=YAe%&zZL=;f+|A) z>j&j7{{Q~HhdT6s!Bg-}b^i0j|Hngwx&QYO(1V{Y|jFB&)D=$oS41liW>& zJbiUv`}t?K`u;NiIqrah=k8&`?n4c>d@^syz z{WI_ujkE2{V5SG(Z=QN7P2%CK=l--K{|71oTl241qIxx^Sv<~jH9-^N{~oStL#nku ztF*tlYVtzjtv4<*q}*;V&yT~T$>lvP zg24T;;oREO^>>>DabH?HKKtcn&*mdyhur!Binq1`S7BHZnY<3Kepl$Jrn3oK_eMTm zFV)(QWgk$v@qcO3i!2kj9ZYomDm8(fhu<-r#wr+i<3W8?swsa-|Ef5Fl%k#Y5P9`@4^l2uJ1MVH`^&1DrqczWryH`-tOf;N0a>UK9DgmVjPGk zXI1&+(TxH=$W%7J^WDEw&QOat2cIo(c5~c)TO%+?p9IW{>D>�W*rYS^UoWQMmM& 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 - GET +Returns the current state from a category +Example result: +{ + "attributes": { + "next_rising": "07:04:15 29-10-2013", + "next_setting": "18:00:31 29-10-2013" + }, + "category": "weather.sun", + "last_changed": "23:24:33 28-10-2013", + "state": "below_horizon" +} + +/api/states/ - POST +Updates the current state of a category. Returns status code 201 if successful +with location header of updated resource. +parameter: new_state - string +optional parameter: attributes - JSON encoded object + +/api/events/ - POST +Fires an event with event_type +optional parameter: event_data - JSON encoded object +Example result: +{ + "message": "Event download_file fired." +} """ import json import threading -import itertools import logging +import re from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer from urlparse import urlparse, parse_qs @@ -36,9 +68,24 @@ import homeassistant as ha SERVER_PORT = 8123 -MESSAGE_STATUS_OK = "OK" -MESSAGE_STATUS_ERROR = "ERROR" -MESSAGE_STATUS_UNAUTHORIZED = "UNAUTHORIZED" +HTTP_OK = 200 +HTTP_CREATED = 201 +HTTP_MOVED_PERMANENTLY = 301 +HTTP_BAD_REQUEST = 400 +HTTP_UNAUTHORIZED = 401 +HTTP_NOT_FOUND = 404 +HTTP_METHOD_NOT_ALLOWED = 405 + +URL_ROOT = "/" + +URL_STATES_CATEGORY = "/states/{}" +URL_API_STATES = "/api/states" +URL_API_STATES_CATEGORY = "/api/states/{}" + +URL_EVENTS_EVENT = "/events/{}" +URL_API_EVENTS = "/api/events" +URL_API_EVENTS_EVENT = "/api/events/{}" + class HTTPInterface(threading.Thread): """ Provides an HTTP interface for Home Assistant. """ @@ -76,238 +123,110 @@ class HTTPInterface(threading.Thread): class RequestHandler(BaseHTTPRequestHandler): """ Handles incoming HTTP requests """ - #Handler for the GET requests - def do_GET(self): # pylint: disable=invalid-name - """ Handle incoming GET requests. """ - write = lambda txt: self.wfile.write(txt+"\n") + PATHS = [ ('GET', '/', '_handle_get_root'), + # /states + ('GET', '/states', '_handle_get_states'), + ('GET', re.compile(r'/states/(?P[a-zA-Z\.\_0-9]+)'), + '_handle_get_states_category'), + ('POST', re.compile(r'/states/(?P[a-zA-Z\.\_0-9]+)'), + '_handle_post_states_category'), + + # /events + ('POST', re.compile(r'/events/(?P\w+)'), + '_handle_post_events_event_type') + ] + + def _handle_request(self, method): # pylint: disable=too-many-branches + """ Does some common checks and calls appropriate method. """ url = urlparse(self.path) - get_data = parse_qs(url.query) + # Read query input + data = parse_qs(url.query) - api_password = get_data.get('api_password', [''])[0] + # Did we get post input ? + content_length = int(self.headers.get('Content-Length', 0)) - if url.path == "/": - if self._verify_api_password(api_password, False): - self.send_response(200) - self.send_header('Content-type','text/html') - self.end_headers() + if content_length: + data.update(parse_qs(self.rfile.read(content_length))) + try: + api_password = data['api_password'][0] + except KeyError: + api_password = '' - write(("" - "Home Assistant" - "")) - - # Flash message support - if self.server.flash_message: - write("

{}

".format(self.server.flash_message)) - - self.server.flash_message = None - - # Describe state machine: - categories = [] - - write(("" - "" - "")) - - for category in \ - sorted(self.server.statemachine.categories, - key=lambda key: key.lower()): - - categories.append(category) - - state = self.server.statemachine.get_state(category) - - attributes = "
".join( - ["{}: {}".format(attr, state['attributes'][attr]) - for attr in state['attributes']]) - - write(("" - "" - ""). - format(category, - state['state'], - state['last_changed'], - attributes)) - - write("
NameStateLast ChangedAttributes
{}{}{}{}
") - - # Small form to change the state - write(("
Change state:
" - "
")) - - write("". - format(self.server.api_password)) - - write("") - - write(("" - "" - "
")) - - # Describe event bus: - write(("")) - - for category in sorted(self.server.eventbus.listeners, - key=lambda key: key.lower()): - write("". - format(category, - len(self.server.eventbus.listeners[category]))) - - # Form to allow firing events - write(("
EventListeners
{}{}

" - "
")) - - write("". - format(self.server.api_password)) - - write(("Event name:
" - "Event data (json):
" - "" - "
")) - - write("") - + # We respond to API requests with JSON + # For other requests we respond with html + if url.path.startswith('/api/'): + path = url.path[4:] + # pylint: disable=attribute-defined-outside-init + self.use_json = True else: - self.send_response(404) + path = url.path + # pylint: disable=attribute-defined-outside-init + self.use_json = False - # pylint: disable=invalid-name, too-many-branches, too-many-statements - def do_POST(self): - """ Handle incoming POST requests. """ - length = int(self.headers['Content-Length']) - post_data = parse_qs(self.rfile.read(length)) + path_matched_but_not_method = False + handle_request_method = False - if self.path.startswith('/api/'): - action = self.path[5:] - use_json = True + # Check every url to find matching result + for t_method, t_path, t_handler in RequestHandler.PATHS: + + # we either do string-comparison or regular expression matching + if isinstance(t_path, str): + path_match = path == t_path + else: + path_match = t_path.match(path) #pylint:disable=maybe-no-member + + + if path_match and method == t_method: + # Call the method + handle_request_method = getattr(self, t_handler) + break + + elif path_match: + path_matched_but_not_method = True + + + if handle_request_method: + + if self._verify_api_password(api_password): + handle_request_method(path_match, data) + + elif path_matched_but_not_method: + self.send_response(HTTP_METHOD_NOT_ALLOWED) else: - action = self.path[1:] - use_json = False - - given_api_password = post_data.get("api_password", [''])[0] - - # Action to change the state - if action == "state/categories": - if self._verify_api_password(given_api_password, use_json): - self._response(use_json, "State categories", - json_data= - {'categories': self.server.statemachine.categories}) - - elif action == "state/get": - if self._verify_api_password(given_api_password, use_json): - try: - category = post_data['category'][0] - - state = self.server.statemachine.get_state(category) - - state['category'] = category - - self._response(use_json, "State of {}".format(category), - json_data=state) + self.send_response(HTTP_NOT_FOUND) - except KeyError: - # If category or new_state don't exist in post data - self._response(use_json, "Invalid state received.", - MESSAGE_STATUS_ERROR) + def do_GET(self): # pylint: disable=invalid-name + """ GET request handler. """ + self._handle_request('GET') - elif action == "state/change": - if self._verify_api_password(given_api_password, use_json): - try: - changed = [] + def do_POST(self): # pylint: disable=invalid-name + """ POST request handler. """ + self._handle_request('POST') - for idx, category, new_state in zip(itertools.count(), - post_data['category'], - post_data['new_state'] - ): - - # See if we also received attributes for this state - try: - attributes = json.loads( - post_data['attributes'][idx]) - except KeyError: - # Happens if key 'attributes' or idx does not exist - attributes = None - - self.server.statemachine.set_state(category, - new_state, - attributes) - - changed.append("{}={}".format(category, new_state)) - - self._response(use_json, "States changed: {}". - format( ", ".join(changed) ) ) - - except KeyError: - # If category or new_state don't exist in post data - self._response(use_json, "Invalid parameters received.", - MESSAGE_STATUS_ERROR) - - except ValueError: - # If json.loads doesn't understand the attributes - self._response(use_json, "Invalid state data received.", - MESSAGE_STATUS_ERROR) - - # Action to fire an event - elif action == "event/fire": - if self._verify_api_password(given_api_password, use_json): - try: - event_name = post_data['event_name'][0] - - if (not 'event_data' in post_data or - post_data['event_data'][0] == ""): - - event_data = None - - else: - event_data = json.loads(post_data['event_data'][0]) - - self.server.eventbus.fire(event_name, event_data) - - self._response(use_json, "Event {} fired.". - format(event_name)) - - except ValueError: - # If JSON decode error - self._response(use_json, "Invalid event received (1).", - MESSAGE_STATUS_ERROR) - - except KeyError: - # If "event_name" not in post_data - self._response(use_json, "Invalid event received (2).", - MESSAGE_STATUS_ERROR) - - else: - self.send_response(404) - - - def _verify_api_password(self, api_password, use_json): + def _verify_api_password(self, api_password): """ Helper method to verify the API password and take action if incorrect. """ if api_password == self.server.api_password: return True - elif use_json: - self._response(True, "API password missing or incorrect.", - MESSAGE_STATUS_UNAUTHORIZED) + elif self.use_json: + self._message("API password missing or incorrect.", + HTTP_UNAUTHORIZED) else: - self.send_response(200) + self.send_response(HTTP_OK) self.send_header('Content-type','text/html') self.end_headers() - write = lambda txt: self.wfile.write(txt+"\n") - - write(("" + self.wfile.write(( + "" "Home Assistant" "" "
" @@ -318,35 +237,164 @@ class RequestHandler(BaseHTTPRequestHandler): return False - def _response(self, use_json, message, - status=MESSAGE_STATUS_OK, json_data=None): - """ Helper method to show a message to the user. """ - log_message = "{}: {}".format(status, message) + # pylint: disable=unused-argument + def _handle_get_root(self, path_match, data): + """ Renders the debug interface. """ - if status == MESSAGE_STATUS_OK: - self.server.logger.info(log_message) - response_code = 200 + write = lambda txt: self.wfile.write(txt+"\n") + self.send_response(HTTP_OK) + self.send_header('Content-type','text/html') + self.end_headers() + + write(("" + "Home Assistant" + "")) + + # Flash message support + if self.server.flash_message: + write("

{}

".format(self.server.flash_message)) + + self.server.flash_message = None + + # Describe state machine: + categories = [] + + write(("" + "" + "")) + + for category in \ + sorted(self.server.statemachine.categories, + key=lambda key: key.lower()): + + categories.append(category) + + state = self.server.statemachine.get_state(category) + + attributes = "
".join( + ["{}: {}".format(attr, state['attributes'][attr]) + for attr in state['attributes']]) + + write(("" + "" + ""). + format(category, + state['state'], + state['last_changed'], + attributes)) + + write("
NameStateLast ChangedAttributes
{}{}{}{}
") + + # Describe event bus: + write(("")) + + for category in sorted(self.server.eventbus.listeners, + key=lambda key: key.lower()): + write("". + format(category, + len(self.server.eventbus.listeners[category]))) + + # Form to allow firing events + write("
EventListeners
{}{}
") + + write("") + + # pylint: disable=unused-argument + def _handle_get_states(self, path_match, data): + """ Returns the categories which state is being tracked. """ + self._write_json({'categories': self.server.statemachine.categories}) + + # pylint: disable=unused-argument + def _handle_get_states_category(self, path_match, data): + """ Returns the state of a specific category. """ + try: + category = path_match.group('category') + + state = self.server.statemachine.get_state(category) + + state['category'] = category + + self._write_json(state) + + except KeyError: + # If category or new_state don't exist in post data + self._message("Invalid state received.", HTTP_BAD_REQUEST) + + + def _handle_post_states_category(self, path_match, data): + """ Handles updating the state of a category. """ + try: + category = path_match.group('category') + + new_state = data['new_state'][0] + + try: + attributes = json.loads(data['attributes'][0]) + except KeyError: + # Happens if key 'attributes' does not exist + attributes = None + + self.server.statemachine.set_state(category, + new_state, + attributes) + + self._redirect("/states/{}".format(category), + "State changed: {}={}".format(category, new_state), + HTTP_CREATED) + + except KeyError: + # If category or new_state don't exist in post data + self._message("Invalid parameters received.", + HTTP_BAD_REQUEST) + + except ValueError: + # Occurs during error parsing json + self._message("Invalid JSON for attributes", HTTP_BAD_REQUEST) + + def _handle_post_events_event_type(self, path_match, data): + """ Handles firing of an event. """ + event_type = path_match.group('event_type') + + try: + try: + event_data = json.loads(data['event_data'][0]) + except KeyError: + # Happens if key 'event_data' does not exist + event_data = None + + self.server.eventbus.fire(event_type, event_data) + + self._message("Event {} fired.".format(event_type)) + + except ValueError: + # Occurs during error parsing json + self._message("Invalid JSON for event_data", HTTP_BAD_REQUEST) + + def _message(self, message, status_code=HTTP_OK): + """ Helper method to return a message to the caller. """ + if self.use_json: + self._write_json({'message': message}, status_code=status_code) else: - self.server.logger.error(log_message) - response_code = (401 if status == MESSAGE_STATUS_UNAUTHORIZED - else 400) + self._redirect('/', message) - if use_json: - self.send_response(response_code) - self.send_header('Content-type','application/json') - self.end_headers() - - json_data = json_data or {} - json_data['status'] = status - json_data['message'] = message - - self.wfile.write(json.dumps(json_data)) - - else: + def _redirect(self, location, message=None, + status_code=HTTP_MOVED_PERMANENTLY): + """ Helper method to redirect caller. """ + # Only save as flash message if we will go to debug interface next + if not self.use_json and message: self.server.flash_message = message - self.send_response(301) - self.send_header("Location", "/?api_password={}". - format(self.server.api_password)) - self.end_headers() + self.send_response(status_code) + self.send_header("Location", "{}?api_password={}". + format(location, self.server.api_password)) + self.end_headers() + + def _write_json(self, data=None, status_code=HTTP_OK): + """ Helper method to return JSON to the caller. """ + self.send_response(status_code) + self.send_header('Content-type','application/json') + self.end_headers() + + if data: + self.wfile.write(json.dumps(data, indent=4, sort_keys=True)) diff --git a/homeassistant/remote.py b/homeassistant/remote.py index 93ab356d131..8e59f31c69a 100644 --- a/homeassistant/remote.py +++ b/homeassistant/remote.py @@ -12,25 +12,33 @@ HomeAssistantException will be raised. import threading import logging import json +import urlparse import requests import homeassistant as ha -import homeassistant.httpinterface as httpinterface +import homeassistant.httpinterface as hah -def _setup_call_api(host, port, base_path, api_password): +METHOD_GET = "get" +METHOD_POST = "post" + +def _setup_call_api(host, port, api_password): """ Helper method to setup a call api method. """ - port = port or httpinterface.SERVER_PORT + port = port or hah.SERVER_PORT - base_url = "http://{}:{}/api/{}".format(host, port, base_path) + base_url = "http://{}:{}".format(host, port) - def _call_api(action, data=None): + def _call_api(method, path, data=None): """ Makes a call to the Home Assistant api. """ data = data or {} - data['api_password'] = api_password - return requests.post(base_url + action, data=data) + url = urlparse.urljoin(base_url, path) + + if method == METHOD_GET: + return requests.get(url, params=data) + else: + return requests.request(method, url, data=data) return _call_api @@ -43,21 +51,19 @@ class EventBus(ha.EventBus): def __init__(self, host, api_password, port=None): ha.EventBus.__init__(self) - self._call_api = _setup_call_api(host, port, "event/", api_password) + self._call_api = _setup_call_api(host, port, api_password) self.logger = logging.getLogger(__name__) def fire(self, event_type, event_data=None): """ Fire an event. """ - if not event_data: - event_data = {} - - data = {'event_name': event_type, - 'event_data': json.dumps(event_data)} + data = {'event_data': json.dumps(event_data)} if event_data else None try: - req = self._call_api("fire", data) + req = self._call_api(METHOD_POST, + hah.URL_API_EVENTS_EVENT.format(event_type), + data) if req.status_code != 200: error = "Error firing event: {} - {}".format( @@ -66,7 +72,6 @@ class EventBus(ha.EventBus): self.logger.error("EventBus:{}".format(error)) raise ha.HomeAssistantException(error) - except requests.exceptions.ConnectionError: self.logger.exception("EventBus:Error connecting to server") @@ -91,7 +96,7 @@ class StateMachine(ha.StateMachine): def __init__(self, host, api_password, port=None): ha.StateMachine.__init__(self, None) - self._call_api = _setup_call_api(host, port, "state/", api_password) + self._call_api = _setup_call_api(host, port, api_password) self.lock = threading.Lock() self.logger = logging.getLogger(__name__) @@ -101,7 +106,7 @@ class StateMachine(ha.StateMachine): """ List of categories which states are being tracked. """ try: - req = self._call_api("categories") + req = self._call_api(METHOD_GET, hah.URL_API_STATES) return req.json()['categories'] @@ -126,14 +131,15 @@ class StateMachine(ha.StateMachine): self.lock.acquire() - data = {'category': category, - 'new_state': new_state, + data = {'new_state': new_state, 'attributes': json.dumps(attributes)} try: - req = self._call_api('change', data) + req = self._call_api(METHOD_POST, + hah.URL_API_STATES_CATEGORY.format(category), + data) - if req.status_code != 200: + if req.status_code != 201: error = "Error changing state: {} - {}".format( req.status_code, req.text) @@ -152,7 +158,8 @@ class StateMachine(ha.StateMachine): the state of the specified category. """ try: - req = self._call_api("get", {'category': category}) + req = self._call_api(METHOD_GET, + hah.URL_API_STATES_CATEGORY.format(category)) data = req.json() diff --git a/homeassistant/test.py b/homeassistant/test.py index 1c45e1114fd..0ca1650b533 100644 --- a/homeassistant/test.py +++ b/homeassistant/test.py @@ -13,13 +13,13 @@ import requests import homeassistant as ha import homeassistant.remote as remote -import homeassistant.httpinterface as httpinterface +import homeassistant.httpinterface as hah API_PASSWORD = "test1234" -HTTP_BASE_URL = "http://127.0.0.1:{}".format(httpinterface.SERVER_PORT) +HTTP_BASE_URL = "http://127.0.0.1:{}".format(hah.SERVER_PORT) # pylint: disable=too-many-public-methods class TestHTTPInterface(unittest.TestCase): @@ -27,13 +27,16 @@ class TestHTTPInterface(unittest.TestCase): HTTP_init = False + def _url(self, path=""): + """ Helper method to generate urls. """ + return HTTP_BASE_URL + path + def setUp(self): # pylint: disable=invalid-name """ Initialize the HTTP interface if not started yet. """ if not TestHTTPInterface.HTTP_init: TestHTTPInterface.HTTP_init = True - httpinterface.HTTPInterface(self.eventbus, self.statemachine, - API_PASSWORD) + hah.HTTPInterface(self.eventbus, self.statemachine, API_PASSWORD) self.statemachine.set_state("test", "INIT_STATE") self.sm_with_remote_eb.set_state("test", "INIT_STATE") @@ -55,17 +58,21 @@ class TestHTTPInterface(unittest.TestCase): def test_debug_interface(self): """ Test if we can login by comparing not logged in screen to logged in screen. """ - self.assertNotEqual(requests.get(HTTP_BASE_URL).text, - requests.get("{}/?api_password={}".format( - HTTP_BASE_URL, API_PASSWORD)).text) + + with_pw = requests.get( + self._url("/?api_password={}".format(API_PASSWORD))) + + without_pw = requests.get(self._url()) + + self.assertNotEqual(without_pw.text, with_pw.text) def test_debug_state_change(self): """ Test if the debug interface allows us to change a state. """ - requests.post("{}/state/change".format(HTTP_BASE_URL), - data={"category":"test", - "new_state":"debug_state_change", - "api_password":API_PASSWORD}) + requests.post( + self._url(hah.URL_STATES_CATEGORY.format("test")), + data={"new_state":"debug_state_change", + "api_password":API_PASSWORD}) self.assertEqual(self.statemachine.get_state("test")['state'], "debug_state_change") @@ -74,19 +81,21 @@ class TestHTTPInterface(unittest.TestCase): def test_api_password(self): """ Test if we get access denied if we omit or provide a wrong api password. """ - req = requests.post("{}/api/state/change".format(HTTP_BASE_URL)) + req = requests.post( + self._url(hah.URL_API_STATES_CATEGORY.format("test"))) self.assertEqual(req.status_code, 401) - req = requests.post("{}/api/state/change".format(HTTP_BASE_URL, - data={"api_password":"not the password"})) + req = requests.post( + self._url(hah.URL_API_STATES_CATEGORY.format("test")), + data={"api_password":"not the password"}) self.assertEqual(req.status_code, 401) def test_api_list_state_categories(self): """ Test if the debug interface allows us to list state categories. """ - req = requests.post("{}/api/state/categories".format(HTTP_BASE_URL), + req = requests.get(self._url(hah.URL_API_STATES), data={"api_password":API_PASSWORD}) data = req.json() @@ -96,16 +105,15 @@ class TestHTTPInterface(unittest.TestCase): def test_api_get_state(self): - """ Test if the debug interface allows us to list state categories. """ - req = requests.post("{}/api/state/get".format(HTTP_BASE_URL), - data={"api_password":API_PASSWORD, - "category": "test"}) + """ Test if the debug interface allows us to get a state. """ + req = requests.get( + self._url(hah.URL_API_STATES_CATEGORY.format("test")), + data={"api_password":API_PASSWORD}) data = req.json() state = self.statemachine.get_state("test") - self.assertEqual(data['category'], "test") self.assertEqual(data['state'], state['state']) self.assertEqual(data['last_changed'], state['last_changed']) @@ -117,9 +125,8 @@ class TestHTTPInterface(unittest.TestCase): self.statemachine.set_state("test", "not_to_be_set_state") - requests.post("{}/api/state/change".format(HTTP_BASE_URL), - data={"category":"test", - "new_state":"debug_state_change2", + requests.post(self._url(hah.URL_API_STATES_CATEGORY.format("test")), + data={"new_state":"debug_state_change2", "api_password":API_PASSWORD}) self.assertEqual(self.statemachine.get_state("test")['state'], @@ -156,22 +163,6 @@ class TestHTTPInterface(unittest.TestCase): self.assertEqual(state['attributes']['test'], 1) - def test_api_multiple_state_change(self): - """ Test if we can change multiple states in 1 request. """ - - self.statemachine.set_state("test", "not_to_be_set_state") - self.statemachine.set_state("test2", "not_to_be_set_state") - - requests.post("{}/api/state/change".format(HTTP_BASE_URL), - data={"category": ["test", "test2"], - "new_state": ["test_state_1", "test_state_2"], - "api_password":API_PASSWORD}) - - self.assertEqual(self.statemachine.get_state("test")['state'], - "test_state_1") - self.assertEqual(self.statemachine.get_state("test2")['state'], - "test_state_2") - # pylint: disable=invalid-name def test_api_state_change_of_non_existing_category(self): """ Test if the API allows us to change a state of @@ -179,15 +170,16 @@ class TestHTTPInterface(unittest.TestCase): new_state = "debug_state_change" - req = requests.post("{}/api/state/change".format(HTTP_BASE_URL), - data={"category":"test_category_that_does_not_exist", - "new_state":new_state, - "api_password":API_PASSWORD}) + req = requests.post( + self._url(hah.URL_API_STATES_CATEGORY.format( + "test_category_that_does_not_exist")), + data={"new_state": new_state, + "api_password": API_PASSWORD}) cur_state = (self.statemachine. - get_state("test_category_that_does_not_exist")['state']) + get_state("test_category_that_does_not_exist")['state']) - self.assertEqual(req.status_code, 200) + self.assertEqual(req.status_code, 201) self.assertEqual(cur_state, new_state) # pylint: disable=invalid-name @@ -201,10 +193,9 @@ class TestHTTPInterface(unittest.TestCase): self.eventbus.listen_once("test_event_no_data", listener) - requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"event_name":"test_event_no_data", - "event_data":"", - "api_password":API_PASSWORD}) + requests.post( + self._url(hah.URL_EVENTS_EVENT.format("test_event_no_data")), + data={"api_password":API_PASSWORD}) # Allow the event to take place time.sleep(1) @@ -224,9 +215,9 @@ class TestHTTPInterface(unittest.TestCase): self.eventbus.listen_once("test_event_with_data", listener) - requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"event_name":"test_event_with_data", - "event_data":'{"test": 1}', + requests.post( + self._url(hah.URL_EVENTS_EVENT.format("test_event_with_data")), + data={"event_data":'{"test": 1}', "api_password":API_PASSWORD}) # Allow the event to take place @@ -235,28 +226,6 @@ class TestHTTPInterface(unittest.TestCase): self.assertEqual(len(test_value), 1) - # pylint: disable=invalid-name - def test_api_fire_event_with_no_params(self): - """ Test how the API respsonds when we specify no event attributes. """ - test_value = [] - - def listener(event): - """ Helper method that will verify that our event got called and - that test if our data came through. """ - if "test" in event.data: - test_value.append(1) - - self.eventbus.listen_once("test_event_with_data", listener) - - requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"api_password":API_PASSWORD}) - - # Allow the event to take place - time.sleep(1) - - self.assertEqual(len(test_value), 0) - - # pylint: disable=invalid-name def test_api_fire_event_with_invalid_json(self): """ Test if the API allows us to fire an event. """ @@ -268,9 +237,9 @@ class TestHTTPInterface(unittest.TestCase): self.eventbus.listen_once("test_event_with_bad_data", listener) - req = requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"event_name":"test_event_with_bad_data", - "event_data":'not json', + req = requests.post( + self._url(hah.URL_API_EVENTS_EVENT.format("test_event")), + data={"event_data":'not json', "api_password":API_PASSWORD})