49 lines
17 KiB
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 - 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"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </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, 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"> </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"> </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"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5">From here it'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"> </span></p></td><td class="cs439A8978" valign="top" width="387"><p class="cs95E872D0"><span class="cs5FC355D3"> </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"> </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"> </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"> </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"> </span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> </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"> </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"> </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"> </span></p></td></tr>
|
|
</table>
|
|
<p class="cs14438CD8"><span class="cs1B16EEB5"> </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"> </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"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 1: Home Assistant commands to turn the light on</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 2: 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: Home Assistant commands to turn the light off</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 4: RFLink-ESP acknowledges that the command is valid and executed </span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Line 5: 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: Another remote control has turned the light off</span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="csA27DA275">Sensors via MQTT</span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </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"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </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"> </span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> </span></p><p class="cs95E872D0"><span class="cs1B16EEB5">huis/verdieping0/kamer1/CO3</span></p><p class="cs95E872D0"><span class="cs1B16EEB5">{ " CO2" :222, "CO3" : 3234, "CO4":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"> </span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> - platform: mqtt</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> state_topic: "huis/verdieping0/kamer1/CO3"</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> name: "CO3b"</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> sensors:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> CO3:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> unit_of_measurement: 'ppm'</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"># value_template: "{{ value_json['CO3'] }}"</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> value_template: ></span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> {</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> "CO3": {{ value_json.CO3 }}</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> }</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"> </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"> </span></p></td></tr>
|
|
<tr>
|
|
<td class="cs2932B180" valign="top" width="261"><p class="cs95E872D0"><span class="cs1B16EEB5"> </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"> </span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> - platform: mqtt</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> state_topic: "huis/verdieping0/kamer1/CO3"</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> name: "CO3c"</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> sensors:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> CO4:</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> unit_of_measurement: '%'</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"># value_template: "{{ value_json['CO4'] }}"</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> value_template: ></span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> {</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> "CO4": {{ value_json.CO4 }}</span></p><p class="cs95E872D0"><span class="cs1B16EEB5"> }</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"> </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"> </span></p></td></tr>
|
|
</table>
|
|
<p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </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"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </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"> </span></p><p class="cs14438CD8"><span class="cs5FC355D3">Screen clipping taken: 28-Aug-18, 21:43</span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </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"> </span></p><p class="cs14438CD8"><span class="cs5FC355D3">Screen clipping taken: 28-Aug-18, 21:43</span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs14438CD8"><span class="cs1B16EEB5"> </span></p><p class="cs95E872D0"><span class="csCF6BBF71"> </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>
|