Site updated at 2016-08-22 08:21:42 UTC
This commit is contained in:
parent
f9d65cbe57
commit
4acb07bf8e
559 changed files with 18878 additions and 21688 deletions
|
@ -91,10 +91,8 @@
|
|||
|
||||
<p>The URL for a binary sensor looks like the example below:</p>
|
||||
|
||||
<div class="highlighter-coderay"><div class="CodeRay">
|
||||
<div class="code"><pre>http://IP_ADDRESS:8123/api/states/binary_sensor.DEVICE_NAME
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>http://IP_ADDRESS:8123/api/states/binary_sensor.DEVICE_NAME
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<p class="note">
|
||||
|
@ -103,70 +101,60 @@ You should choose a unique device name (DEVICE_NAME) to avoid clashes with other
|
|||
|
||||
<p>The JSON payload must contain the new state and can have a friendly name. The friendly name is used in the frontend to name the sensor.</p>
|
||||
|
||||
<div class="highlighter-coderay"><div class="CodeRay">
|
||||
<div class="code"><pre>{<span class="key"><span class="delimiter">"</span><span class="content">state</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">on</span><span class="delimiter">"</span></span>, <span class="key"><span class="delimiter">"</span><span class="content">attributes</span><span class="delimiter">"</span></span>: {<span class="key"><span class="delimiter">"</span><span class="content">friendly_name</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">Radio</span><span class="delimiter">"</span></span>}}
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="nt">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"on"</span><span class="p">,</span><span class="w"> </span><span class="nt">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="nt">"friendly_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Radio"</span><span class="p">}}</span><span class="w">
|
||||
</span></code></pre>
|
||||
</div>
|
||||
|
||||
<p>For a quick test <code>curl</code> can be useful to “simulate” a device.</p>
|
||||
<p>For a quick test <code class="highlighter-rouge">curl</code> can be useful to “simulate” a device.</p>
|
||||
|
||||
<div class="highlighter-coderay"><div class="CodeRay">
|
||||
<div class="code"><pre>$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"state": "off", "attributes": {"friendly_name": "Radio"}}' \
|
||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>curl -X POST -H <span class="s2">"x-ha-access: YOUR_PASSWORD"</span> <span class="se">\</span>
|
||||
-H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
|
||||
-d <span class="s1">'{"state": "off", "attributes": {"friendly_name": "Radio"}}'</span> <span class="se">\</span>
|
||||
http://localhost:8123/api/states/binary_sensor.radio
|
||||
</pre></div>
|
||||
</div>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<p>To check if the sensor is working, use again <code>curl</code> to retrieve the <a href="/developers/rest_api/#get-apistatesltentity_id">current state</a>.</p>
|
||||
<p>To check if the sensor is working, use again <code class="highlighter-rouge">curl</code> to retrieve the <a href="/developers/rest_api/#get-apistatesltentity_id">current state</a>.</p>
|
||||
|
||||
<div class="highlighter-coderay"><div class="CodeRay">
|
||||
<div class="code"><pre>$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
|
||||
-H "Content-Type: application/json" \
|
||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>curl -X GET -H <span class="s2">"x-ha-access: YOUR_PASSWORD"</span> <span class="se">\</span>
|
||||
-H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
|
||||
http://localhost:8123/api/states/binary_sensor.radio
|
||||
{
|
||||
"attributes": {
|
||||
"friendly_name": "Radio"
|
||||
},
|
||||
"entity_id": "binary_sensor.radio",
|
||||
"last_changed": "16:45:51 05-02-2016",
|
||||
"last_updated": "16:45:51 05-02-2016",
|
||||
"state": "off"
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
<span class="o">{</span>
|
||||
<span class="s2">"attributes"</span>: <span class="o">{</span>
|
||||
<span class="s2">"friendly_name"</span>: <span class="s2">"Radio"</span>
|
||||
<span class="o">}</span>,
|
||||
<span class="s2">"entity_id"</span>: <span class="s2">"binary_sensor.radio"</span>,
|
||||
<span class="s2">"last_changed"</span>: <span class="s2">"16:45:51 05-02-2016"</span>,
|
||||
<span class="s2">"last_updated"</span>: <span class="s2">"16:45:51 05-02-2016"</span>,
|
||||
<span class="s2">"state"</span>: <span class="s2">"off"</span>
|
||||
<span class="o">}</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<h2><a class="title-link" name="examples" href="#examples"></a> Examples</h2>
|
||||
|
||||
<p>In this section you find some real life examples of how to use this sensor. Beside <code>curl</code>.</p>
|
||||
<p>In this section you find some real life examples of how to use this sensor. Beside <code class="highlighter-rouge">curl</code>.</p>
|
||||
|
||||
<h3><a class="title-link" name="using-python-request-module" href="#using-python-request-module"></a> Using Python request module</h3>
|
||||
|
||||
<p>As already shown on the <a href="/developers/rest_api/">API</a> page, it’s very simple to use Python and the <a href="http://docs.python-requests.org/en/latest/">Requests</a> module for the interaction with Home Assistant.</p>
|
||||
|
||||
<div class="highlighter-coderay"><div class="CodeRay">
|
||||
<div class="code"><pre>response = requests.post(
|
||||
<span class="string"><span class="delimiter">'</span><span class="content">http://localhost:8123/api/states/binary_sensor.radio</span><span class="delimiter">'</span></span>,
|
||||
headers={<span class="string"><span class="delimiter">'</span><span class="content">x-ha-access</span><span class="delimiter">'</span></span>: <span class="string"><span class="delimiter">'</span><span class="content">YOUR_PASSWORD</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">content-type</span><span class="delimiter">'</span></span>: <span class="string"><span class="delimiter">'</span><span class="content">application/json</span><span class="delimiter">'</span></span>},
|
||||
data=json.dumps({<span class="string"><span class="delimiter">'</span><span class="content">state</span><span class="delimiter">'</span></span>: <span class="string"><span class="delimiter">'</span><span class="content">on</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">attributes</span><span class="delimiter">'</span></span>: {<span class="string"><span class="delimiter">'</span><span class="content">friendly_name</span><span class="delimiter">'</span></span>: <span class="string"><span class="delimiter">'</span><span class="content">Radio</span><span class="delimiter">'</span></span>}}))
|
||||
print(response.text)
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
|
||||
<span class="s">'http://localhost:8123/api/states/binary_sensor.radio'</span><span class="p">,</span>
|
||||
<span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s">'x-ha-access'</span><span class="p">:</span> <span class="s">'YOUR_PASSWORD'</span><span class="p">,</span> <span class="s">'content-type'</span><span class="p">:</span> <span class="s">'application/json'</span><span class="p">},</span>
|
||||
<span class="n">data</span><span class="o">=</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">({</span><span class="s">'state'</span><span class="p">:</span> <span class="s">'on'</span><span class="p">,</span> <span class="s">'attributes'</span><span class="p">:</span> <span class="p">{</span><span class="s">'friendly_name'</span><span class="p">:</span> <span class="s">'Radio'</span><span class="p">}}))</span>
|
||||
<span class="k">print</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<h3><a class="title-link" name="using-httpie" href="#using-httpie"></a> Using <code>httpie</code></h3>
|
||||
<h3><a class="title-link" name="using-httpie" href="#using-httpie"></a> Using <code class="highlighter-rouge">httpie</code></h3>
|
||||
|
||||
<p><a href="https://github.com/jkbrzt/httpie"><code>httpie</code></a> is a user-friendly CLI HTTP client.</p>
|
||||
<p><a href="https://github.com/jkbrzt/httpie"><code class="highlighter-rouge">httpie</code></a> is a user-friendly CLI HTTP client.</p>
|
||||
|
||||
<div class="highlighter-coderay"><div class="CodeRay">
|
||||
<div class="code"><pre>$ http -v POST http://localhost:8123/api/states/binary_sensor.radio \
|
||||
x-ha-access:YOUR_PASSWORD content-type:application/json state=off \
|
||||
attributes:='{"friendly_name": "Radio"}'
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>http -v POST http://localhost:8123/api/states/binary_sensor.radio <span class="se">\</span>
|
||||
x-ha-access:YOUR_PASSWORD content-type:application/json <span class="nv">state</span><span class="o">=</span>off <span class="se">\</span>
|
||||
attributes:<span class="o">=</span><span class="s1">'{"friendly_name": "Radio"}'</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue