RFLink-ESP/docs/Home Assistant - MQTT.html

49 lines
17 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>
</title>
<style type="text/css">
.cs95E872D0{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
.cs84FBA952{color:#000000;background-color:transparent;font-family:Calibri;font-size:17pt;font-weight:normal;font-style:normal;}
.csB33285EC{color:#808080;background-color:transparent;font-family:Calibri;font-size:10pt;font-weight:normal;font-style:normal;}
.cs14438CD8{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
.cs1B16EEB5{color:#000000;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;}
.csA27DA275{color:#000000;background-color:transparent;font-family:Calibri;font-size:16pt;font-weight:bold;font-style:normal;}
.cs2D2816FE{}
.cs588E80C5{width:225.4pt;padding:1.95pt 3pt 1.95pt 3pt;border-top:1pt #A3A3A3 solid;border-right:1pt #A3A3A3 solid;border-bottom:1pt #A3A3A3 solid;border-left:1pt #A3A3A3 solid}
.csDC4A80{color:#000000;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;}
.cs582F255F{width:275.8pt;padding:1.95pt 3pt 1.95pt 3pt;border-top:1pt #A3A3A3 solid;border-right:1pt #A3A3A3 solid;border-bottom:1pt #A3A3A3 solid;border-left:1pt #A3A3A3 solid}
.cs439A8978{width:290.1pt;padding:1.95pt 3pt 1.95pt 3pt;border-top:1pt #A3A3A3 solid;border-right:1pt #A3A3A3 solid;border-bottom:1pt #A3A3A3 solid;border-left:1pt #A3A3A3 solid}
.cs5FC355D3{color:#666666;background-color:transparent;font-family:Tahoma;font-size:8pt;font-weight:normal;font-style:normal;}
.csB4F56505{color:#000000;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration: none;}
.cs777ED152{color:#0000FF;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration: underline;}
.cs2932B180{width:195.6pt;padding:1.95pt 3pt 1.95pt 3pt;border-top:1pt #A3A3A3 solid;border-right:1pt #A3A3A3 solid;border-bottom:1pt #A3A3A3 solid;border-left:1pt #A3A3A3 solid}
.csB97E631{width:232.55pt;padding:1.95pt 3pt 1.95pt 3pt;border-top:1pt #A3A3A3 solid;border-right:1pt #A3A3A3 solid;border-bottom:1pt #A3A3A3 solid;border-left:1pt #A3A3A3 solid}
.cs68D25B49{width:233.75pt;padding:1.95pt 3pt 1.95pt 3pt;border-top:1pt #A3A3A3 solid;border-right:1pt #A3A3A3 solid;border-bottom:1pt #A3A3A3 solid;border-left:1pt #A3A3A3 solid}
.csCF6BBF71{color:#000000;background-color:transparent;font-family:Times New Roman;font-size:12pt;font-weight:normal;font-style:normal;}
.cs7FC7682D{color:#969696;background-color:transparent;font-family:Arial;font-size:9pt;font-weight:normal;font-style:normal;}
</style>
</head>
<body>
<p class="cs95E872D0"><span class="cs84FBA952">Home Assistant -&nbsp; MQTT</span></p><p class="cs95E872D0"><span class="csB33285EC">26 August, 2018</span></p><p class="cs95E872D0"><span class="csB33285EC">21:36</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="csA27DA275">RFLink-ESP, MQTT-mode</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">In the MQTT mode, RFLink-ESP communicates with an Home Automation program fully through the MQTT broker. In that case the serial port is used for debugging.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">If an RF sequence is detected as valid by RFLink-ESP,&nbsp; it sends the information through the MQTT-broker:</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">If the Home Automation program sends a command through the MQTT-broker, RFLink checks if the message is valid, then it performs the action and sends a response back to the Home Automation program.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">If RFLink-ESP is set to MQTT-mode, you can watch the serial line to see what the topic and payloads from the different switches are. Here the serial ouput is shown when 4 different switches are pressed:</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span><img src="Home%20Assistant%20-%20MQTT_files/image0.png" width="599" height="91" alt="" style="border-width:0px;" /></span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">From here it&#39;s easy to implement the Home Assistant counterpart, a few examples :</span></p><table class="cs2D2816FE" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse;">
<tr>
<td class="cs588E80C5" valign="top" width="301"><p class="cs95E872D0"><span class="csDC4A80">Button</span></p></td><td class="cs582F255F" valign="top" width="368"><p class="cs95E872D0"><span class="csDC4A80">Configuration.yaml</span></p></td><td class="cs439A8978" valign="top" width="387"><p class="cs95E872D0"><span class="csDC4A80">Home Assistant</span></p></td></tr>
<tr>
<td class="cs588E80C5" valign="top" width="301"><p class="cs95E872D0"><span class="cs1B16EEB5">To activate the broker component</span></p></td><td class="cs582F255F" valign="top" width="368"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image1.png" width="252" height="36" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td><td class="cs439A8978" valign="top" width="387"><p class="cs95E872D0"><span class="cs5FC355D3">&nbsp;</span></p></td></tr>
<tr>
<td class="cs588E80C5" valign="top" width="301"><p class="cs95E872D0"><span class="cs1B16EEB5">A simple Lamp Switch,</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">Based on the second button in the above list</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"><a class="csB4F56505" href="https://www.home-assistant.io/components/switch.mqtt/"><span class="cs777ED152">https://www.home-assistant.io/components/switch.mqtt/</span></a></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td><td class="cs582F255F" valign="top" width="368"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image2.png" width="352" height="131" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td><td class="cs439A8978" valign="top" width="387"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image3.png" width="366" height="74" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td></tr>
<tr>
<td class="cs588E80C5" valign="top" width="301"><p class="cs95E872D0"><span class="cs1B16EEB5">A Blind Cover,</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">Based on the last button in the above list</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"><a class="csB4F56505" href="https://www.home-assistant.io/components/cover.mqtt/"><span class="cs777ED152">https://www.home-assistant.io/components/cover.mqtt/</span></a></span></p></td><td class="cs582F255F" valign="top" width="368"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image4.png" width="352" height="150" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td><td class="cs439A8978" valign="top" width="387"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image5.png" width="366" height="71" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td></tr>
</table>
<p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">If we look at the communication on the MQTT bus, we can see the following traffic:</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span><img src="Home%20Assistant%20-%20MQTT_files/image6.png" width="537" height="105" alt="" style="border-width:0px;" /></span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 1:&nbsp; Home Assistant commands to turn the light on</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 2:&nbsp; RFLink-ESP acknowledges that the command is valid and executed (this will update the state of the icons in Home Assitant)</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 3:&nbsp; Home Assistant commands to turn the light off</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 4:&nbsp; RFLink-ESP acknowledges that the command is valid and executed </span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 5:&nbsp; Another remote control has turned the light on, this is the message to Home Assistant to change the state</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 6:&nbsp; Another remote control has turned the light off</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="csA27DA275">Sensors via MQTT</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">MQTT berichten worden goed ontvangen,</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">JSON parts kunnen worden onderscheiden</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><table class="cs2D2816FE" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse;">
<tr>
<td class="cs2932B180" valign="top" width="261"><p class="cs95E872D0"><span class="cs1B16EEB5">MQTT</span></p></td><td class="csB97E631" valign="top" width="311"><p class="cs95E872D0"><span class="cs1B16EEB5">Configuration.yaml</span></p></td><td class="cs68D25B49" valign="top" width="312"><p class="cs95E872D0"><span class="cs1B16EEB5">HomeAssistant</span></p></td></tr>
<tr>
<td class="cs2932B180" valign="top" width="261"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image7.png" width="205" height="68" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">huis/verdieping0/kamer1/CO3</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">{ &quot; CO2&quot; :222, &quot;CO3&quot; : 3234, &quot;CO4&quot;:111}</span></p></td><td class="csB97E631" valign="top" width="311"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image8.png" width="269" height="129" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp; - platform: mqtt</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; state_topic: &quot;huis/verdieping0/kamer1/CO3&quot;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; name: &quot;CO3b&quot;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; sensors:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CO3:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unit_of_measurement: &#39;ppm&#39;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value_template: &quot;{{ value_json[&#39;CO3&#39;] }}&quot;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; value_template: &gt;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;CO3&quot;: {{ value_json.CO3 }}</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p></td><td class="cs68D25B49" valign="top" width="312"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image9.png" width="207" height="119" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image10.png" width="36" height="49" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td></tr>
<tr>
<td class="cs2932B180" valign="top" width="261"><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td><td class="csB97E631" valign="top" width="311"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image11.png" width="277" height="121" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp; - platform: mqtt</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; state_topic: &quot;huis/verdieping0/kamer1/CO3&quot;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; name: &quot;CO3c&quot;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; sensors:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CO4:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unit_of_measurement: &#39;%&#39;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value_template: &quot;{{ value_json[&#39;CO4&#39;] }}&quot;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp; value_template: &gt;</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;CO4&quot;: {{ value_json.CO4 }}</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p></td><td class="cs68D25B49" valign="top" width="312"><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image12.png" width="211" height="119" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span><img src="Home%20Assistant%20-%20MQTT_files/image13.png" width="30" height="53" alt="" style="border-width:0px;" /></span></p><p class="cs95E872D0"><span class="cs1B16EEB5">&nbsp;</span></p></td></tr>
</table>
<p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Template:</span></p><p class="cs14438CD8"><span class="cs1B16EEB5"><a class="csB4F56505" href="https://www.home-assistant.io/docs/configuration/templating/"><span class="cs777ED152">https://www.home-assistant.io/docs/configuration/templating/</span></a></span></p><p class="cs14438CD8"><span class="cs1B16EEB5"><a class="csB4F56505" href="https://www.home-assistant.io/docs/mqtt/processing_json/"><span class="cs777ED152">https://www.home-assistant.io/docs/mqtt/processing_json/</span></a></span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span><img src="Home%20Assistant%20-%20MQTT_files/image14.png" width="1024" height="242" alt="" style="border-width:0px;" /></span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs5FC355D3">Screen clipping taken: 28-Aug-18, 21:43</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span><img src="Home%20Assistant%20-%20MQTT_files/image15.png" width="1024" height="491" alt="" style="border-width:0px;" /></span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs5FC355D3">Screen clipping taken: 28-Aug-18, 21:43</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="csCF6BBF71">&nbsp;</span></p><p class="cs95E872D0"><span class="cs7FC7682D">Created with Microsoft Office OneNote 2007<br/>One place for all your notes and information</span></p></body>
</html>