mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-03 17:48:59 +00:00
1.7 KiB
1.7 KiB
layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release
layout | title | description | date | sidebar | comments | sharing | footer | logo | ha_category | ha_release |
---|---|---|---|---|---|---|---|---|---|---|
page | HTTP Sensor | Instructions how to integrate HTTP sensors within Home Assistant. | 2016-02-05 12:15 | true | false | true | true | http.png | Sensor | pre 0.7 |
The URL for a sensor looks like the example below:
http://IP_ADDRESS:8123/api/states/sensor.DEVICE_NAME
You should choose a unique device name (DEVICE_NAME) to avoid clashes with other devices.
The JSON payload must contain the new state and should include the unit of measurement and a friendly name. The friendly name is used in the frontend to name the sensor.
{"state": "20", "attributes": {"unit_of_measurement": "°C", "friendly_name": "Bathroom Temperature"}}
For a quick test curl
can be useful to "simulate" a device.
$ curl -XPOST -H "x-ha-access: YOUR_PASSWORD" \
-d '{"state": "20", "attributes": {"unit_of_measurement": "°C", "friendly_name": "Bathroom Temp"}}' \
http://localhost:8123/api/states/sensor.bathroom_temperature
Use again curl
to retrieve the current state to check if the sensor is working.
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
http://localhost:8123/api/states/sensor.bathroom_temperature
{
"attributes": {
"friendly_name": "Bathroom Temp",
"unit_of_measurement": "\u00b0C"
},
"entity_id": "sensor.bathroom_temperature",
"last_changed": "09:46:17 06-02-2016",
"last_updated": "09:48:46 06-02-2016",
"state": "20"
}
For more examples please visit the HTTP Binary Sensor page.