<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than diagrams.net -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="848px" height="371px" viewBox="-0.5 -0.5 848 371" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2022-03-04T14:52:13.642Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15&quot; etag=&quot;Gnb4ajRzPfgSmnaAhfN4&quot; version=&quot;16.6.6&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;TiTtySAKTcKLs4Ve-Ef3&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="0" y="0" width="847" height="370" fill="rgb(255, 255, 255)" stroke="none" pointer-events="all"/><rect x="10" y="25" width="230" height="230" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="595" y="25" width="240" height="240" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 145px; margin-left: 596px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; font-family: , &quot;blinkmacsystemfont&quot; , &quot;segoe ui&quot; , &quot;helvetica&quot; , &quot;arial&quot; , sans-serif , &quot;apple color emoji&quot; , &quot;segoe ui emoji&quot; ; font-size: 14px ; background-color: rgb(255 , 255 , 255)"><br /></span></div></div></div></foreignObject><text x="715" y="149" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"></text></switch></g><rect x="11.25" y="35" width="247.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 246px; height: 1px; padding-top: 50px; margin-left: 12px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; background-color: rgb(255 , 255 , 255)"><font style="font-size: 16px">MQTT Client <br />Host</font></span></div></div></div></foreignObject><text x="135" y="55" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold">MQTT Client...</text></switch></g><rect x="570" y="35" width="270" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 268px; height: 1px; padding-top: 50px; margin-left: 571px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal;"><font color="#24292f">MQTT Client<br />ESP Board</font></div></div></div></foreignObject><text x="705" y="55" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold">MQTT Client...</text></switch></g><rect x="614" y="105" width="202" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 200px; height: 1px; padding-top: 125px; margin-left: 615px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; font-size: 14px ; background-color: rgb(255 , 255 , 255)"> Set colors on RGB LED</span></div></div></div></foreignObject><text x="715" y="130" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle"> Set colors on RGB LED</text></switch></g><path d="M 614 197.5 L 414.5 197.5 L 414.5 200 L 223.24 200" fill="none" stroke="#ff7308" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 217.24 200 L 225.24 196 L 223.24 200 L 225.24 204 Z" fill="#ff7308" stroke="#ff7308" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="614" y="175" width="210" height="45" rx="6.75" ry="6.75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 198px; margin-left: 615px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; font-family: &quot;helvetica&quot; ; font-size: 14px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: center ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; background-color: rgb(255 , 255 , 255) ; display: inline ; float: none">Read temperature from sensor</span></div></div></div></foreignObject><text x="719" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">Read temperature from sens...</text></switch></g><path d="M 215 130 L 414.5 130 L 414.5 125 L 605.76 125" fill="none" stroke="#0000ff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/><path d="M 611.76 125 L 603.76 129 L 605.76 125 L 603.76 121 Z" fill="#0000ff" stroke="#0000ff" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="30" y="105" width="185" height="50" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 183px; height: 1px; padding-top: 130px; margin-left: 31px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; font-size: 14px ; background-color: rgb(255 , 255 , 255)"> Generate RGB LED colors</span></div></div></div></foreignObject><text x="123" y="135" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle"> Generate RGB LED colors</text></switch></g><rect x="30" y="175" width="185" height="50" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 183px; height: 1px; padding-top: 200px; margin-left: 31px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; font-family: &quot;helvetica&quot; ; font-size: 14px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: center ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; background-color: rgb(255 , 255 , 255) ; display: inline ; float: none">Log temperature on screen</span></div></div></div></foreignObject><text x="123" y="205" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">Log temperature on scre...</text></switch></g><rect x="323" y="100" width="180" height="135" rx="20.25" ry="20.25" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 153px; height: 1px; padding-top: 168px; margin-left: 337px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; word-wrap: normal;"><span style="color: rgb(36 , 41 , 47) ; font-size: 16px ; background-color: rgb(255 , 255 , 255)"> MQTT Server</span></div></div></div></foreignObject><text x="413" y="172" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle" font-weight="bold"> MQTT Server</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 120px; margin-left: 251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal;">publish</div></div></div></foreignObject><text x="280" y="125" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">publish</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 190px; margin-left: 521px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal;">publish</div></div></div></foreignObject><text x="550" y="195" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">publish</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 115px; margin-left: 521px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal;">subscribe</div></div></div></foreignObject><text x="550" y="120" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">subscri...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 190px; margin-left: 251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal;">subscribe</div></div></div></foreignObject><text x="280" y="195" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">subscri...</text></switch></g><path d="M 303 311 L 364.76 311" fill="none" stroke="#0000ff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 370.76 311 L 362.76 315 L 364.76 311 L 362.76 307 Z" fill="#0000ff" stroke="#0000ff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 303 341 L 364.76 341" fill="none" stroke="#ff7308" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 370.76 341 L 362.76 345 L 364.76 341 L 362.76 337 Z" fill="#ff7308" stroke="#ff7308" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 310px; margin-left: 366px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal;">Color topic</div></div></div></foreignObject><text x="415" y="315" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">Color topic</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 156px; height: 1px; padding-top: 340px; margin-left: 366px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal;">Temperature topic</div></div></div></foreignObject><text x="444" y="345" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">Temperature topic</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>