mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-07-25 18:26:29 +00:00
Merge 5d9b6a8a7658ed4dee96fd523f337ee16b7e4d17 into e360e8ba4ab4d71427a998e8ad3e35e8bcba56e3
This commit is contained in:
commit
5ad4cdde5a
@ -636,7 +636,7 @@ You can pass an optional JSON object to be used as `service_data`.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Returns a list of states that have changed while the service was being executed.
|
By default, a call will return a list of states that have changed while the service was being executed.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
@ -655,6 +655,57 @@ Returns a list of states that have changed while the service was being executed.
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
The result will include any states that changed while the service was being executed, even if their change was the result of something else happening in the system.
|
||||||
|
:::
|
||||||
|
|
||||||
|
If the service you're calling supports returning response data, you can retrieve it by adding `?return_response` to the URL. Your response will then contain both the list of changed entities and the service response data.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"changed_states": [
|
||||||
|
{
|
||||||
|
"attributes": {},
|
||||||
|
"entity_id": "sun.sun",
|
||||||
|
"last_changed": "2024-04-22T20:45:54.418320-04:00",
|
||||||
|
"state": "below_horizon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attributes": {},
|
||||||
|
"entity_id": "process.Dropbox",
|
||||||
|
"last_changed": "2024-04-22T20:45:54.418320-04:00",
|
||||||
|
"state": "on"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"service_response": {
|
||||||
|
"weather.new_york_forecast": {
|
||||||
|
"forecast": [
|
||||||
|
{
|
||||||
|
"condition": "clear-night",
|
||||||
|
"datetime": "2024-04-22T20:45:55.173725-04:00",
|
||||||
|
"precipitation_probability": 0,
|
||||||
|
"temperature": null,
|
||||||
|
"templow": 6.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "rainy",
|
||||||
|
"datetime": "2024-04-23T20:45:55.173756-04:00",
|
||||||
|
"precipitation_probability": 60,
|
||||||
|
"temperature": 16.0,
|
||||||
|
"templow": 4.0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
:::note
|
||||||
|
Some services return no data, others optionally return response data, and some always return response data.
|
||||||
|
|
||||||
|
If you don't use `return_response` when calling a service that must return data, the API will return a 400. Similarly, you will receive a 400 if you use `return_response` when calling a service that doesn't return any data.
|
||||||
|
:::
|
||||||
|
|
||||||
Sample `curl` commands:
|
Sample `curl` commands:
|
||||||
|
|
||||||
Turn the light on:
|
Turn the light on:
|
||||||
@ -692,9 +743,15 @@ curl \
|
|||||||
http://localhost:8123/api/services/mqtt/publish
|
http://localhost:8123/api/services/mqtt/publish
|
||||||
```
|
```
|
||||||
|
|
||||||
:::tip
|
Retrieve daily weather forecast information:
|
||||||
The result will include any states that changed while the service was being executed, even if their change was the result of something else happening in the system.
|
|
||||||
:::
|
```shell
|
||||||
|
curl \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "Authorization: Bearer TOKEN" \
|
||||||
|
-d '{"entity_id": "weather.forecast_home", "type": "daily"}' \
|
||||||
|
http://localhost:8123/api/services/weather/get_forecasts?return_response
|
||||||
|
```
|
||||||
|
|
||||||
</ApiEndpoint>
|
</ApiEndpoint>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user