mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-23 01:06:52 +00:00
Add curl samples
This commit is contained in:
parent
cd2448a78f
commit
d9c7830b2f
@ -21,7 +21,7 @@ There are multiple ways to consume the Home Assistant Rest API. One is with `cur
|
|||||||
```bash
|
```bash
|
||||||
curl -X GET \
|
curl -X GET \
|
||||||
-H "x-ha-access: YOUR_PASSWORD" \
|
-H "x-ha-access: YOUR_PASSWORD" \
|
||||||
http://localhost:8123/api/
|
http://localhost:8123/ENDPOINT
|
||||||
```
|
```
|
||||||
|
|
||||||
Another option is to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module.
|
Another option is to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module.
|
||||||
@ -29,7 +29,7 @@ Another option is to use Python and the [Requests](http://docs.python-requests.o
|
|||||||
```python
|
```python
|
||||||
from requests import get
|
from requests import get
|
||||||
|
|
||||||
url = 'http://localhost:8123/api/'
|
url = 'http://localhost:8123/ENDPOINT'
|
||||||
headers = {'x-ha-access': 'YOUR_PASSWORD',
|
headers = {'x-ha-access': 'YOUR_PASSWORD',
|
||||||
'content-type': 'application/json'}
|
'content-type': 'application/json'}
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ Successful calls will return status code 200 or 201. Other status codes that can
|
|||||||
|
|
||||||
The API supports the following actions:
|
The API supports the following actions:
|
||||||
|
|
||||||
#### {% linkable_title GET /api %}
|
#### {% linkable_title GET /api/ %}
|
||||||
Returns message if API is up and running.
|
Returns message if API is up and running.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@ -61,6 +61,12 @@ Returns message if API is up and running.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" http://IP_ADDRESS:8123/api/
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title GET /api/config %}
|
#### {% linkable_title GET /api/config %}
|
||||||
Returns the current configuration as JSON.
|
Returns the current configuration as JSON.
|
||||||
|
|
||||||
@ -87,6 +93,12 @@ Returns the current configuration as JSON.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" http://IP_ADDRESS:8123/api/config
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title GET /api/bootstrap %}
|
#### {% linkable_title GET /api/bootstrap %}
|
||||||
Returns all data needed to bootstrap Home Assistant.
|
Returns all data needed to bootstrap Home Assistant.
|
||||||
|
|
||||||
@ -99,6 +111,12 @@ Returns all data needed to bootstrap Home Assistant.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" http://IP_ADDRESS:8123/api/bootstrap
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title GET /api/events %}
|
#### {% linkable_title GET /api/events %}
|
||||||
Returns an array of event objects. Each event object contain event name and listener count.
|
Returns an array of event objects. Each event object contain event name and listener count.
|
||||||
|
|
||||||
@ -115,6 +133,12 @@ Returns an array of event objects. Each event object contain event name and list
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" http://IP_ADDRESS:8123/api/events
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title GET /api/services %}
|
#### {% linkable_title GET /api/services %}
|
||||||
Returns an array of service objects. Each object contains the domain and which services it contains.
|
Returns an array of service objects. Each object contains the domain and which services it contains.
|
||||||
|
|
||||||
@ -136,6 +160,12 @@ Returns an array of service objects. Each object contains the domain and which s
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" http://IP_ADDRESS:8123/api/services
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title GET /api/states %}
|
#### {% linkable_title GET /api/states %}
|
||||||
Returns an array of state objects. Each state has the following attributes: entity_id, state, last_changed and attributes.
|
Returns an array of state objects. Each state has the following attributes: entity_id, state, last_changed and attributes.
|
||||||
|
|
||||||
@ -159,6 +189,12 @@ Returns an array of state objects. Each state has the following attributes: enti
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" http://IP_ADDRESS:8123/api/states
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title GET /api/states/<entity_id> %}
|
#### {% linkable_title GET /api/states/<entity_id> %}
|
||||||
Returns a state object for specified entity_id. Returns 404 if not found.
|
Returns a state object for specified entity_id. Returns 404 if not found.
|
||||||
|
|
||||||
@ -174,10 +210,16 @@ Returns a state object for specified entity_id. Returns 404 if not found.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
|
||||||
|
http://IP_ADDRESS:8123/api/states/sensor.kitchen_temperature
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title POST /api/states/<entity_id> %}
|
#### {% linkable_title POST /api/states/<entity_id> %}
|
||||||
Updates or creates the current state of an entity.
|
Updates or creates the current state of an entity.
|
||||||
|
|
||||||
Expects a JSON object that has atleast a state attribute:
|
Expects a JSON object that has at least a state attribute:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -203,6 +245,14 @@ Return code is 200 if the entity existed, 201 if the state of a new entity was s
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
|
||||||
|
-d '{"state": "25", "attributes": {"unit_of_measurement": "°C"}}' \
|
||||||
|
http://localhost:8123/api/states/sensor.kitchen_temperature
|
||||||
|
```
|
||||||
|
|
||||||
#### {% linkable_title POST /api/events/<event_type> %}
|
#### {% linkable_title POST /api/events/<event_type> %}
|
||||||
Fires an event with event_type
|
Fires an event with event_type
|
||||||
|
|
||||||
@ -255,6 +305,14 @@ Returns a list of states that have changed while the service was being executed.
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Sample `curl` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
|
||||||
|
-d '{"entity_id": "switch.christmas_lights", "state": "on"}' \
|
||||||
|
http://localhost:8123/api/services/switch/turn_on
|
||||||
|
```
|
||||||
|
|
||||||
<p class='note'>
|
<p class='note'>
|
||||||
The result will include any changed states that changed while the service was being executed, even if their change was the result of something else happening in the system.
|
The result will include any changed states that changed while the service was being executed, even if their change was the result of something else happening in the system.
|
||||||
</p>
|
</p>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user