Deployed 0cd98c6 with MkDocs version: 1.6.1

This commit is contained in:
github-actions[bot]
2025-10-30 23:07:10 +00:00
parent 1cf6dd2f0a
commit 15be0aba0d
23 changed files with 293 additions and 259 deletions

View File

@@ -806,7 +806,7 @@
<img alt="grafik" src="https://user-images.githubusercontent.com/1783586/199352619-217df627-4b87-4fa0-86a2-f5347c452fdb.png"/></img></p>
<h3 id="using-mqtt-manually-setup-entities"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.1</span> Using MQTT (Manually Setup Entities)</h3>
<p>First make sure with an MQTT client (for example <a href="http://mqtt-explorer.com/">MQTT Explorer</a>) that MQTT works as expected and to get a list of the available topics!</p>
<p>Then add a sensor for each property:
<p>Then add a sensor for each property:</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-0-1"><a href="#__codelineno-0-1" id="__codelineno-0-1" name="__codelineno-0-1"></a><span class="nt">mqtt</span><span class="p">:</span>
</span><span id="__span-0-2"><a href="#__codelineno-0-2" id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="w"> </span><span class="nt">sensor</span><span class="p">:</span>
</span><span id="__span-0-3"><a href="#__codelineno-0-3" id="__codelineno-0-3" name="__codelineno-0-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">state_topic</span><span class="p">:</span><span class="w"> </span><span class="s">"wasserzaehler/main/value"</span>
@@ -851,7 +851,7 @@
</span><span id="__span-0-42"><a href="#__codelineno-0-42" id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="w"> </span><span class="nt">payload_available</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">connected</span>
</span><span id="__span-0-43"><a href="#__codelineno-0-43" id="__codelineno-0-43" name="__codelineno-0-43"></a><span class="w"> </span><span class="nt">payload_not_available</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">connection lost</span>
</span></code></pre></div>
If you run the discovery once, you can also extract the information from there (MQTT Info, untested):
<p>If you run the discovery once, you can also extract the information from there (MQTT Info, untested):</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-1-1"><a href="#__codelineno-1-1" id="__codelineno-1-1" name="__codelineno-1-1"></a><span class="nt">mqtt</span><span class="p">:</span><span class="w"> </span><span class="c1"># Extracted form the Discovery but untested!</span>
</span><span id="__span-1-2"><a href="#__codelineno-1-2" id="__codelineno-1-2" name="__codelineno-1-2"></a><span class="w"> </span><span class="nt">sensor</span><span class="p">:</span>
</span><span id="__span-1-3"><a href="#__codelineno-1-3" id="__codelineno-1-3" name="__codelineno-1-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Value</span>
@@ -864,8 +864,8 @@ If you run the discovery once, you can also extract the information from there (
</span><span id="__span-1-10"><a href="#__codelineno-1-10" id="__codelineno-1-10" name="__codelineno-1-10"></a><span class="w"> </span><span class="nt">availability_topic</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">wasserzaehler/connection</span>
</span><span id="__span-1-11"><a href="#__codelineno-1-11" id="__codelineno-1-11" name="__codelineno-1-11"></a><span class="w"> </span><span class="nt">payload_available</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">connected</span>
</span><span id="__span-1-12"><a href="#__codelineno-1-12" id="__codelineno-1-12" name="__codelineno-1-12"></a><span class="w"> </span><span class="nt">payload_not_available</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">connection lost</span>
</span></code></pre></div></p>
<p>If you want to convert the <code></code> to <code>l</code>, use a template sensor:
</span></code></pre></div>
<p>If you want to convert the <code></code> to <code>l</code>, use a template sensor:</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-2-1"><a href="#__codelineno-2-1" id="__codelineno-2-1" name="__codelineno-2-1"></a><span class="nt">template</span><span class="p">:</span>
</span><span id="__span-2-2"><a href="#__codelineno-2-2" id="__codelineno-2-2" name="__codelineno-2-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">sensor</span><span class="p">:</span>
</span><span id="__span-2-3"><a href="#__codelineno-2-3" id="__codelineno-2-3" name="__codelineno-2-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Watermeter</span><span class="nv"> </span><span class="s">in</span><span class="nv"> </span><span class="s">l"</span>
@@ -874,7 +874,7 @@ If you run the discovery once, you can also extract the information from there (
</span><span id="__span-2-6"><a href="#__codelineno-2-6" id="__codelineno-2-6" name="__codelineno-2-6"></a><span class="w"> </span><span class="nt">state</span><span class="p">:</span><span class="w"> </span><span class="s">"{{</span><span class="nv"> </span><span class="s">states('sensor.watermeter_value')|float(default=0)</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">1000</span><span class="nv"> </span><span class="s">}}"</span><span class="w"> </span><span class="c1"># Convert 1 m3 =&gt; 1000 l</span>
</span><span id="__span-2-7"><a href="#__codelineno-2-7" id="__codelineno-2-7" name="__codelineno-2-7"></a><span class="w"> </span><span class="nt">unit_of_measurement</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">l</span>
</span><span id="__span-2-8"><a href="#__codelineno-2-8" id="__codelineno-2-8" name="__codelineno-2-8"></a><span class="w"> </span><span class="nt">availability</span><span class="p">:</span><span class="w"> </span><span class="s">"{{</span><span class="nv"> </span><span class="s">states('sensor.watermeter_value')</span><span class="nv"> </span><span class="s">not</span><span class="nv"> </span><span class="s">in</span><span class="nv"> </span><span class="s">['unknown',</span><span class="nv"> </span><span class="s">'unavailable',</span><span class="nv"> </span><span class="s">'none']</span><span class="nv"> </span><span class="s">}}"</span>
</span></code></pre></div></p>
</span></code></pre></div>
<p>If you you want to have the consumption per day, you can use an <a href="https://www.home-assistant.io/integrations/utility_meter/">Utility Meter</a>.
it is a helper and can be used to reset the total increasing values once a day</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-3-1"><a href="#__codelineno-3-1" id="__codelineno-3-1" name="__codelineno-3-1"></a><span class="nt">utility_meter</span><span class="p">:</span>
@@ -896,7 +896,7 @@ it is a helper and can be used to reset the total increasing values once a day</
<p>Note that there seems to be a bug in the graph, see <a href="https://github.com/home-assistant/frontend/issues/13995">https://github.com/home-assistant/frontend/issues/13995</a>!</p>
<h3 id="influxdb-graphs"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.4</span> InfluxDb Graphs</h3>
<p>See also <a href="../Influx-DB/">Influx-DB</a>.</p>
<p>If you have setup InfluxDB already, it is also possible to fetch statistics from there, e.g. daily usage:
<p>If you have setup InfluxDB already, it is also possible to fetch statistics from there, e.g. daily usage:</p>
<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a href="#__codelineno-4-1" id="__codelineno-4-1" name="__codelineno-4-1"></a>from(bucket: "HomeAssistant")
</span><span id="__span-4-2"><a href="#__codelineno-4-2" id="__codelineno-4-2" name="__codelineno-4-2"></a>|&gt; range(start: v.timeRangeStart, stop: v.timeRangeStop)
</span><span id="__span-4-3"><a href="#__codelineno-4-3" id="__codelineno-4-3" name="__codelineno-4-3"></a> |&gt; filter(fn: (r) =&gt; r["entity_id"] == "wasserverbrauch_tag")
@@ -904,14 +904,14 @@ it is a helper and can be used to reset the total increasing values once a day</
</span><span id="__span-4-5"><a href="#__codelineno-4-5" id="__codelineno-4-5" name="__codelineno-4-5"></a> |&gt; timeShift(duration: -1d)
</span><span id="__span-4-6"><a href="#__codelineno-4-6" id="__codelineno-4-6" name="__codelineno-4-6"></a> |&gt; aggregateWindow(every: 1d, fn: max, createEmpty: false)
</span><span id="__span-4-7"><a href="#__codelineno-4-7" id="__codelineno-4-7" name="__codelineno-4-7"></a> |&gt; yield(name: "mean")
</span></code></pre></div></p>
</span></code></pre></div>
<p><img alt="grafik" src="https://user-images.githubusercontent.com/1783586/193473347-c81fc301-c52f-4af0-9fcb-56fab12cacac.png"/></p>
<h2 id="using-rest"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2</span> Using REST</h2>
<p>When using REST, Home Assistant has to periodically call an URL on the ESP32 which in return provides the requested data.</p>
<p>See <a href="../REST-API/">REST API</a> for a list of available URLs.</p>
<p>The most practical one is the <code>json</code> entrypoint which provides the most relevant data JSON formatted:
<code>http://&lt;IP&gt;/json</code>
This would return:
This would return:</p>
<div class="language-JSON highlight"><pre><span></span><code><span id="__span-5-1"><a href="#__codelineno-5-1" id="__codelineno-5-1" name="__codelineno-5-1"></a><span class="p">{</span>
</span><span id="__span-5-2"><a href="#__codelineno-5-2" id="__codelineno-5-2" name="__codelineno-5-2"></a><span class="nt">"main"</span><span class="p">:</span>
</span><span id="__span-5-3"><a href="#__codelineno-5-3" id="__codelineno-5-3" name="__codelineno-5-3"></a><span class="w"> </span><span class="p">{</span>
@@ -923,8 +923,8 @@ This would return:
</span><span id="__span-5-9"><a href="#__codelineno-5-9" id="__codelineno-5-9" name="__codelineno-5-9"></a><span class="w"> </span><span class="p">[</span><span class="err">..</span><span class="p">]</span>
</span><span id="__span-5-10"><a href="#__codelineno-5-10" id="__codelineno-5-10" name="__codelineno-5-10"></a><span class="w"> </span><span class="p">}</span>
</span><span id="__span-5-11"><a href="#__codelineno-5-11" id="__codelineno-5-11" name="__codelineno-5-11"></a><span class="p">}</span>
</span></code></pre></div></p>
<p>To do such a REST call, you need to create a REST sensor:
</span></code></pre></div>
<p>To do such a REST call, you need to create a REST sensor:</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-6-1"><a href="#__codelineno-6-1" id="__codelineno-6-1" name="__codelineno-6-1"></a><span class="nt">sensor</span><span class="p">:</span>
</span><span id="__span-6-2"><a href="#__codelineno-6-2" id="__codelineno-6-2" name="__codelineno-6-2"></a>
</span><span id="__span-6-3"><a href="#__codelineno-6-3" id="__codelineno-6-3" name="__codelineno-6-3"></a><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">platform</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rest</span>
@@ -952,7 +952,7 @@ This would return:
</span><span id="__span-6-25"><a href="#__codelineno-6-25" id="__codelineno-6-25" name="__codelineno-6-25"></a><span class="w"> </span><span class="nt">device_class</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">water</span>
</span><span id="__span-6-26"><a href="#__codelineno-6-26" id="__codelineno-6-26" name="__codelineno-6-26"></a><span class="w"> </span><span class="nt">state_class</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">total_increasing</span>
</span><span id="__span-6-27"><a href="#__codelineno-6-27" id="__codelineno-6-27" name="__codelineno-6-27"></a><span class="w"> </span><span class="nt">icon</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mdi:gauge</span>
</span></code></pre></div></p>
</span></code></pre></div>
<p>The 2nd way is to use the html api call from value.html : </p>
<p><code>sensor:
- platform: rest