diff --git a/README.md b/README.md index 81c0036..f56b3f3 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,16 @@ Anything that takes an action as a result of an HTTP request will probably work "onUrl": "http://192.168.1.201:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=SetHouseMode&Mode=3" } ``` +#### Response +``` +{ +"id" : 12345, +"name" : "bedroom light", +"deviceType" : "switch", + "onUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1&DeviceNum=41", + "offUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0&DeviceNum=41" +} +``` ### Update a device Update an existing device using it's ID that was given when the device was created and the update could contain any of the fields that are used and shown in the previous examples when adding a device. ``` @@ -115,6 +125,7 @@ POST http://host:8080/api/devices/ #### Body arguments Name | Type | Description | Required -----|-------|--------------|------------ +id | number | This is the ID assigned to the device and used for lookup. name | string | A name for the device. This is also the utterance value that the Echo will use. | Required deviceType | string | This identifies what type of device entry this is. It is used by the system and should be the values of "switch", "scene", "custom", "activity" or "button". | Required onUrl | string | This is the URL that is executed for an "on" request and is used for the device types of "switch", "scene" and "custom". For "activity" or "button" it is the Json target generated by the Harmony Hub helpers. | Required @@ -126,27 +137,79 @@ contentBodyOff | string | This is the content body that you would like to send w #### Basic Example ``` { +"id" : 6789, "name" : "bedroom light", "deviceType" : "switch", "onUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1&DeviceNum=41", "offUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0&DeviceNum=41" } ``` +#### Response +``` +{ +"id" : 6789, +"name" : "table light", +"deviceType" : "switch", + "onUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1&DeviceNum=41", + "offUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0&DeviceNum=41" +} +``` ### Get all devices Get all devices saved in the HA bridge configuration. ``` GET http://host:8080/api/devices ``` +#### Response +Individual entries are the same as a single device but in json list format. +``` +[{ +"id" : 12345, +"name" : "bedroom light", +"deviceType" : "switch", + "onUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1&DeviceNum=41", + "offUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0&DeviceNum=41" +} +{ +"id" : 6789, +"name" : "table light", +"deviceType" : "switch", + "onUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1&DeviceNum=41", + "offUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0&DeviceNum=41" +}] +``` ### Get a specific device Get a device by ID assigned from creation and saved in the HA bridge configuration. ``` GET http://host:8080/api/devices/ ``` +#### Response +Name | Type | Description +-----|-------|------------- +id | number | This is the ID assigned to the device and used for lookup. +name | string | A name for the device. This is also the utterance value that the Echo will use. +deviceType | string | This identifies what type of device entry this is. It is used by the system and should be the values of "switch", "scene", "custom", "activity" or "button". +onUrl | string | This is the URL that is executed for an "on" request and is used for the device types of "switch", "scene" and "custom". For "activity" or "button" it is the Json target generated by the Harmony Hub helpers. +offUrl | string | This is the URL that is executed for an "off" request and is used for the device types of "switch", "scene" and "custom". For "activity" or "button" it is the Json target generated by the Harmony Hub helpers. +httpVerb | string | This is used for "custom" calls that the user would like to execute. The values can only be "GET, "PUT", "POST". +contentType | string | This is an http type string such as "application/text" or "application/xml" or "application/json". +contentBody | string | This is the content body that you would like to send when executing an "on" request. +contentBodyOff | string | This is the content body that you would like to send when executing an "off" request. +``` +{ +"id" : 6789, +"name" : "table light", +"deviceType" : "switch", + "onUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1&DeviceNum=41", + "offUrl" : "http://192.168.1.201:3480/data_request?id=action&output_format=json&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0&DeviceNum=41" +} +``` ### Delete a specific device Delete a device by ID assigned from creation and saved in the HA bridge configuration. ``` DELETE http://host:8080/api/devices/ ``` +#### Response +This call returns a null json "{}". ### Get HA Bridge Version Get current version of the HA bridge software. ``` @@ -345,8 +408,7 @@ POST http://host:port/api #### Body arguments Name | Type | Description | Required -----|-------|--------------|----------- -devicetype | string 0..40 | -# application_name string 0..20, devicename string 0..19 (Example: my_hue_app#iphone peter ) | Required +devicetype | string 0..40 | # application_name string 0..20, devicename string 0..19 (Example: my_hue_app#iphone peter ) | Required username | string 10..40 | A username. If this is not provided, a random key will be generated and returned in the response. | Optional ``` {"devicetype": "my_hue_app#iphone peter"}