blob: f8540e67d77904749b19e91b5b7d651af14c44ec [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="427.2px" preserveAspectRatio="none" style="width:1400px;height:427px;" version="1.1" viewBox="0 0 1400 427" width="1400.4px" zoomAndPan="magnify"><defs><filter height="300%" id="fv63cmfv2nt78" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fv63cmfv2nt78)" height="209.7563" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="622.2" y="148.4344"/><rect fill="#FFFFFF" filter="url(#fv63cmfv2nt78)" height="174.7969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1330.2" y="183.3937"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="148.8" x2="148.8" y1="45.9563" y2="379.7906"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="627.6" x2="627.6" y1="45.9563" y2="379.7906"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1335.6" x2="1335.6" y1="45.9563" y2="379.7906"/><rect fill="#FEFECE" filter="url(#fv63cmfv2nt78)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fv63cmfv2nt78)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="110.4" y="378.5906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="118.8" y="402.5848">Device</text><rect fill="#FEFECE" filter="url(#fv63cmfv2nt78)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="558" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="566.4" y="27.5941">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#fv63cmfv2nt78)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="135.6" x="558" y="378.5906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="118.8" x="566.4" y="402.5848">MQTT Adapter</text><rect fill="#FEFECE" filter="url(#fv63cmfv2nt78)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1280.4" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1288.8" y="27.5941">Application</text><rect fill="#FEFECE" filter="url(#fv63cmfv2nt78)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="106.8" x="1280.4" y="378.5906"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="90" x="1288.8" y="402.5848">Application</text><rect fill="#FFFFFF" filter="url(#fv63cmfv2nt78)" height="209.7563" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="622.2" y="148.4344"/><rect fill="#FFFFFF" filter="url(#fv63cmfv2nt78)" height="174.7969" style="stroke: #A80036; stroke-width: 1.2;" width="12" x="1330.2" y="183.3937"/><path d="M9.6,63.9563 L9.6,111.9563 L285.6,111.9563 L285.6,75.9563 L273.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#fv63cmfv2nt78)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M273.6,63.9563 L273.6,75.9563 L285.6,75.9563 L273.6,63.9563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="217.2" x="16.8" y="84.4365">The device is connected and</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="250.8" x="16.8" y="102.5959">authenticated with TENANT/4711</text><polygon fill="#A80036" points="607.8,143.6344,619.8,148.4344,607.8,153.2344,612.6,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="615" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="267.6" x="157.8" y="142.3553">1. SUBSCRIBE("command///req/#")</text><polygon fill="#A80036" points="1315.8,178.5938,1327.8,183.3937,1315.8,188.1938,1320.6,183.3937" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="634.2" x2="1323" y1="183.3937" y2="183.3937"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="334.8" x="642.6" y="177.3146">2. transfer("event/TENANT","4711","ttd=-1")</text><polygon fill="#A80036" points="647.4,213.5531,635.4,218.3531,647.4,223.1531,642.6,218.3531" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="640.2" x2="1329" y1="218.3531" y2="218.3531"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="380.4" x="654.6" y="212.274">3. transfer("command/TENANT/4711","light","ON")</text><polygon fill="#A80036" points="162.6,248.5125,150.6,253.3125,162.6,258.1125,157.8,253.3125" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="155.4" x2="621" y1="253.3125" y2="253.3125"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="382.8" x="169.8" y="247.2334">4. PUBLISH("command///req/${reqId}/light", "ON")</text><polygon fill="#A80036" points="1315.8,283.4719,1327.8,288.2719,1315.8,293.0719,1320.6,288.2719" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="634.2" x2="1323" y1="288.2719" y2="288.2719"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="176.4" x="642.6" y="282.1928">disposition("accepted")</text><polygon fill="#A80036" points="607.8,318.4313,619.8,323.2313,607.8,328.0313,612.6,323.2313" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="149.4" x2="615" y1="323.2313" y2="323.2313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="444" x="157.8" y="317.1521">5. PUBLISH("command///res/${reqId}/200", "lumen=100")</text><polygon fill="#A80036" points="1321.8,353.3906,1333.8,358.1906,1321.8,362.9906,1326.6,358.1906" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="628.2" x2="1329" y1="358.1906" y2="358.1906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="667.2" x="636.6" y="352.1115">6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")</text><!--MD5=[130e2d2ad51dc80d7f83df15b0506eb0]
@startuml
scale 1.2
participant Device
participant "MQTT Adapter"
participant Application
note over Device
The device is connected and
authenticated with TENANT/4711
end note
Device -> "MQTT Adapter": 1. SUBSCRIBE("command///req/#")
activate "MQTT Adapter"
"MQTT Adapter" -> Application: 2. transfer("event/TENANT","4711","ttd=-1")
activate Application
Application -> "MQTT Adapter": 3. transfer("command/TENANT/4711","light","ON")
"MQTT Adapter" -> Device: 4. PUBLISH("command///req/${reqId}/light", "ON")
"MQTT Adapter" -> Application: disposition("accepted")
Device -> "MQTT Adapter": 5. PUBLISH("command///res/${reqId}/200", "lumen=100")
"MQTT Adapter" -> Application: 6. transfer("command_response/TENANT/4711/${replyId}","status=200","lumen=100")
deactivate "MQTT Adapter"
deactivate Application
@enduml
PlantUML version 1.2019.11(Sun Sep 22 10:02:15 UTC 2019)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Java Version: 1.7.0_25-b15
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>