178 lines
12 KiB
XML
178 lines
12 KiB
XML
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<mxfile host="app.diagrams.net" modified="2023-09-17T10:00:00.000Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" etag="thermostat_seq_v2" version="21.3.8">
|
|
<diagram name="Page-1" id="thermostat-sequence-improved">
|
|
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1400" pageHeight="900" background="none" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<!-- User Lifeline -->
|
|
<mxCell id="2" value="Home Owner/User" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
|
<mxGeometry x="80" y="80" width="120" height="650" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="3" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" vertex="1" parent="2">
|
|
<mxGeometry x="55" y="5" width="10" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="4" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="2" vertex="1">
|
|
<mxGeometry x="55" y="80" width="10" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="5" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="2" vertex="1">
|
|
<mxGeometry x="55" y="320" width="10" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="6" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="2" vertex="1">
|
|
<mxGeometry x="55" y="480" width="10" height="120" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Mobile App Lifeline -->
|
|
<mxCell id="7" value="Mobile APP" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
|
<mxGeometry x="280" y="80" width="120" height="650" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="8" value="" style="shape=umlBoundary;whiteSpace=wrap;html=1;" vertex="1" parent="7">
|
|
<mxGeometry x="48" y="5" width="24" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="9" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7" vertex="1">
|
|
<mxGeometry x="55" y="80" width="10" height="60" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="10" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7" vertex="1">
|
|
<mxGeometry x="55" y="280" width="10" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="11" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7" vertex="1">
|
|
<mxGeometry x="55" y="480" width="10" height="120" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Thermostat System Lifeline -->
|
|
<mxCell id="12" value="Smart Thermostat System" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
|
<mxGeometry x="480" y="80" width="150" height="650" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="13" value="" style="ellipse;shape=umlEntity;whiteSpace=wrap;html=1;" vertex="1" parent="12">
|
|
<mxGeometry x="65" y="5" width="20" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="14" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="12" vertex="1">
|
|
<mxGeometry x="70" y="120" width="10" height="120" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="15" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="12" vertex="1">
|
|
<mxGeometry x="70" y="420" width="10" height="180" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- HVAC System Lifeline -->
|
|
<mxCell id="16" value="HVAC System" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
|
<mxGeometry x="720" y="80" width="120" height="650" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="17" value="" style="ellipse;shape=umlEntity;whiteSpace=wrap;html=1;" vertex="1" parent="16">
|
|
<mxGeometry x="50" y="5" width="20" height="20" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="18" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="16" vertex="1">
|
|
<mxGeometry x="55" y="160" width="10" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="19" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="16" vertex="1">
|
|
<mxGeometry x="55" y="450" width="10" height="150" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 1: User to Mobile App -->
|
|
<mxCell id="20" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="4" target="9">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="21" value="1. Set Temperature" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="20">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 2: Mobile App to Thermostat -->
|
|
<mxCell id="22" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="9" target="14">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="23" value="2. Send Temperature Command" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="22">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 3: Thermostat to HVAC -->
|
|
<mxCell id="24" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="14" target="18">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="25" value="3. Adjust HVAC Settings" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="24">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 4: HVAC to Thermostat (return) -->
|
|
<mxCell id="26" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="18" target="14">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="775" y="280" as="sourcePoint" />
|
|
<mxPoint x="560" y="280" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="27" value="4. Status Acknowledgment" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="26">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 5: Thermostat to Mobile App (return) -->
|
|
<mxCell id="28" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="14" target="10">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="550" y="320" as="sourcePoint" />
|
|
<mxPoint x="345" y="320" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="29" value="5. Send Confirmation" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="28">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 6: Mobile App to User (return) -->
|
|
<mxCell id="30" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="10" target="5">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="31" value="6. Display Confirmation" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="30">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Loop Frame for continuous monitoring -->
|
|
<mxCell id="32" value="loop" style="shape=umlFrame;whiteSpace=wrap;html=1;width=60;height=30;boundedLbl=1;" vertex="1" parent="1">
|
|
<mxGeometry x="480" y="400" width="380" height="220" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="33" value="[Continuous Operation]" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=10;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="550" y="405" width="120" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 7: HVAC to Thermostat (continuous updates) -->
|
|
<mxCell id="34" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="19" target="15">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="775" y="520" as="sourcePoint" />
|
|
<mxPoint x="560" y="520" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="35" value="7. Temperature Updates" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="34">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 8: Thermostat self-call -->
|
|
<mxCell id="36" value="8. Monitor & Control" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="1" target="15">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="560" y="540" as="sourcePoint" />
|
|
<Array as="points">
|
|
<mxPoint x="590" y="540" />
|
|
<mxPoint x="590" y="560" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
|
|
<!-- Message 9: Thermostat to Mobile App (status updates) -->
|
|
<mxCell id="37" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="15" target="11">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<mxPoint x="550" y="580" as="sourcePoint" />
|
|
<mxPoint x="345" y="580" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="38" value="9. Status Updates" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="37">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Message 10: Mobile App to User (display status) -->
|
|
<mxCell id="39" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="11" target="6">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="40" value="10. Display Current Status" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="39">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile> |