| <?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="740.4px" preserveAspectRatio="none" style="width:1734px;height:740px;" version="1.1" viewBox="0 0 1734 740" width="1734px" zoomAndPan="magnify"><defs><filter height="300%" id="fnzp9xyiux0bi" 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><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="361.2" x2="361.2" y1="45.9563" y2="692.1844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="657" x2="657" y1="45.9563" y2="692.1844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1152.6" x2="1152.6" y1="45.9563" y2="692.1844"/><line style="stroke: #A80036; stroke-width: 1.2; stroke-dasharray: 5.0,5.0;" x1="1458" x2="1458" y1="45.9563" y2="692.1844"/><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="322.8" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="331.2" y="27.5941">Device</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="73.2" x="322.8" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="56.4" x="331.2" y="714.9785">Device</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="552.6" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="561" y="27.5941">HTTP Protocol Adapter</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="204" x="552.6" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="187.2" x="561" y="714.9785">HTTP Protocol Adapter</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="1065" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="1073.4" y="27.5941">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="170.4" x="1065" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="153.6" x="1073.4" y="714.9785">AMQP 1.0 Network</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="198" x="1357.2" y="3.6"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="1365.6" y="27.5941">Consumer Application</text><rect fill="#FEFECE" filter="url(#fnzp9xyiux0bi)" height="36.3562" style="stroke: #A80036; stroke-width: 1.7999999999999998;" width="198" x="1357.2" y="690.9844"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacingAndGlyphs" textLength="181.2" x="1365.6" y="714.9785">Consumer Application</text><path d="M9.6,63.9563 L9.6,111.9563 L351.6,111.9563 L351.6,75.9563 L339.6,63.9563 L9.6,63.9563 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M339.6,63.9563 L339.6,75.9563 L351.6,75.9563 L339.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="316.8" x="16.8" y="84.4365">sending telemetry data with explicit value</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="188.4" x="16.8" y="102.5959">for ttd set to 60 seconds</text><polygon fill="#A80036" points="642.6,143.6344,654.6,148.4344,642.6,153.2344,647.4,148.4344" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="361.8" x2="649.8" y1="148.4344" y2="148.4344"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="266.4" x="370.2" y="142.3553">telemetry(hono-ttd="60", payload)</text><path d="M139.2,164.0344 L139.2,212.0344 L578.4,212.0344 L578.4,176.0344 L566.4,164.0344 L139.2,164.0344 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M566.4,164.0344 L566.4,176.0344 L578.4,176.0344 L566.4,164.0344 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="414" x="146.4" y="184.5146">The HTTP specific header "hono-ttd" is used to provide</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="270" x="146.4" y="202.674">the value for ttd by the device itself</text><path d="M476.4,229.1531 L476.4,313.1531 L831.6,313.1531 L831.6,241.1531 L819.6,229.1531 L476.4,229.1531 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M819.6,229.1531 L819.6,241.1531 L831.6,241.1531 L819.6,229.1531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="193.2" x="483.6" y="249.6334">Set AMQP 1.0 properties:</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="157.2" x="483.6" y="267.7928">tenant-id: "TENANT",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="133.2" x="483.6" y="285.9521">device-id: "4711",</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="330" x="483.6" y="304.1115">creation-time: NOW (in epoch milliseconds)</text><polygon fill="#A80036" points="1138.2,345.15,1150.2,349.95,1138.2,354.75,1143,349.95" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="657" x2="1145.4" y1="349.95" y2="349.95"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="466.8" x="665.4" y="343.8709">1.0 transfer("telemetry/TENANT", "4711", , creation-time, ttd)</text><polygon fill="#A80036" points="1444.2,380.1094,1456.2,384.9094,1444.2,389.7094,1449,384.9094" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1152.6" x2="1451.4" y1="384.9094" y2="384.9094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="277.2" x="1161" y="378.8303">1.2 transfer("telemetry/TENANT", ...)</text><polygon fill="#A80036" points="1165.8,415.0687,1153.8,419.8688,1165.8,424.6688,1161,419.8688" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1158.6" x2="1457.4" y1="419.8688" y2="419.8688"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="1173" y="413.7896">2.0 disposition("accepted")</text><polygon fill="#A80036" points="670.2,450.0281,658.2,454.8281,670.2,459.6281,665.4,454.8281" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="663" x2="1151.4" y1="454.8281" y2="454.8281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="205.2" x="677.4" y="448.749">2.0 disposition("accepted")</text><polygon fill="#A80036" points="375,484.9875,363,489.7875,375,494.5875,370.2,489.7875" style="stroke: #A80036; stroke-width: 1.2;"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="367.8" x2="655.8" y1="489.7875" y2="489.7875"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="177.6" x="382.2" y="483.7084">HTTP/1.1 202 Accepted</text><path d="M1324.8,505.3875 L1324.8,535.3875 L1586.4,535.3875 L1586.4,517.3875 L1574.4,505.3875 L1324.8,505.3875 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M1574.4,505.3875 L1574.4,517.3875 L1586.4,517.3875 L1574.4,505.3875 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="236.4" x="1332" y="525.8678">Processing the telemetry data.</text><line style="stroke: #A80036; stroke-width: 1.2;" x1="1458.6" x2="1509" y1="571.7063" y2="571.7063"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1509" x2="1509" y1="571.7063" y2="587.3063"/><line style="stroke: #A80036; stroke-width: 1.2;" x1="1459.8" x2="1509" y1="587.3063" y2="587.3063"/><polygon fill="#A80036" points="1471.8,582.5063,1459.8,587.3063,1471.8,592.1062,1467,587.3063" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="253.2" x="1467" y="565.6271">callbackIfValid(creation-time, ttd)</text><path d="M1244.4,602.9063 L1244.4,668.9063 L1666.8,668.9063 L1666.8,614.9063 L1654.8,602.9063 L1244.4,602.9063 " fill="#FBFB77" filter="url(#fnzp9xyiux0bi)" style="stroke: #A80036; stroke-width: 1.2;"/><path d="M1654.8,602.9063 L1654.8,614.9063 L1666.8,614.9063 L1654.8,602.9063 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="397.2" x="1251.6" y="623.3865">React if message indicates that currently the device</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="237.6" x="1251.6" y="641.5459">is ready to receive a command</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacingAndGlyphs" textLength="271.2" x="1251.6" y="659.7053">(e.g. by trying to send a command)</text><!-- |
| Device -> "HTTP Protocol Adapter": telemetry(hono-ttd="60", payload) |
| "HTTP Protocol Adapter" -> "AMQP 1.0 Network": 1.0 transfer("telemetry/TENANT", "4711", , creation-time, ttd) |
| "AMQP 1.0 Network" -> "Consumer Application": 1.2 transfer("telemetry/TENANT", ...) |
| "Consumer Application" -> "Consumer Application": callbackIfValid(creation-time, ttd) |