Site updated at 2016-08-22 08:21:42 UTC

This commit is contained in:
Travis CI 2016-08-22 08:21:43 +00:00
parent f9d65cbe57
commit 4acb07bf8e
559 changed files with 18878 additions and 21688 deletions

View file

@ -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">&quot;</span><span class="content">state</span><span class="delimiter">&quot;</span></span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">on</span><span class="delimiter">&quot;</span></span>, <span class="key"><span class="delimiter">&quot;</span><span class="content">attributes</span><span class="delimiter">&quot;</span></span>: {<span class="key"><span class="delimiter">&quot;</span><span class="content">friendly_name</span><span class="delimiter">&quot;</span></span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">Radio</span><span class="delimiter">&quot;</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 &quot;x-ha-access: YOUR_PASSWORD&quot; \
-H &quot;Content-Type: application/json&quot; \
-d '{&quot;state&quot;: &quot;off&quot;, &quot;attributes&quot;: {&quot;friendly_name&quot;: &quot;Radio&quot;}}' \
<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 &quot;x-ha-access: YOUR_PASSWORD&quot; \
-H &quot;Content-Type: application/json&quot; \
<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
{
&quot;attributes&quot;: {
&quot;friendly_name&quot;: &quot;Radio&quot;
},
&quot;entity_id&quot;: &quot;binary_sensor.radio&quot;,
&quot;last_changed&quot;: &quot;16:45:51 05-02-2016&quot;,
&quot;last_updated&quot;: &quot;16:45:51 05-02-2016&quot;,
&quot;state&quot;: &quot;off&quot;
}
</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, its 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:='{&quot;friendly_name&quot;: &quot;Radio&quot;}'
</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>