260 lines
19 KiB
XML
260 lines
19 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<mxfile host="app.diagrams.net" modified="2025-09-17T01:00:00.000Z" agent="diagrams.net" etag="detailed_deployment_v1" version="21.3.8">
|
|
<diagram name="Page-1" id="detailed-thermostat-deployment">
|
|
<mxGraphModel dx="1400" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1200" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<!-- Title -->
|
|
<mxCell id="2" value="Smart Thermostat System - Detailed Deployment Diagram" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=18;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="500" y="30" width="600" height="30" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Mobile Device Node -->
|
|
<mxCell id="3" value="<<device>><br>Mobile Device" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="80" y="120" width="300" height="400" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Mobile App Component -->
|
|
<mxCell id="4" value="<<artifact>><br>Smart Thermostat<br>Mobile App" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="110" y="180" width="240" height="80" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Mobile Database -->
|
|
<mxCell id="5" value="<<database>><br>Local Cache DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="130" y="290" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- User Interface -->
|
|
<mxCell id="6" value="<<interface>><br>User Interface" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="250" y="290" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- User Actor -->
|
|
<mxCell id="7" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor=#ff6b6b;" vertex="1" parent="1">
|
|
<mxGeometry x="215" y="420" width="30" height="60" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="8" value="User" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=12;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="190" y="490" width="80" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Cloud Server Node -->
|
|
<mxCell id="9" value="<<device>><br>Smart Thermostat Cloud Server" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="480" y="120" width="300" height="400" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Server Application -->
|
|
<mxCell id="10" value="<<artifact>><br>Smart Thermostat<br>Server Application" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="510" y="180" width="240" height="80" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Server Database -->
|
|
<mxCell id="11" value="<<database>><br>Thermostat Data DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="530" y="290" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- User Management DB -->
|
|
<mxCell id="12" value="<<database>><br>User Management DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="650" y="290" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Analytics DB -->
|
|
<mxCell id="13" value="<<database>><br>Analytics & Logs DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="590" y="370" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Database Server Node -->
|
|
<mxCell id="14" value="<<device>><br>Database Server" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="880" y="120" width="300" height="400" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- SQL Server -->
|
|
<mxCell id="15" value="<<artifact>><br>SQL Server<br>Database Engine" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="910" y="180" width="240" height="80" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Temperature History DB -->
|
|
<mxCell id="16" value="<<database>><br>Temperature History DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="930" y="290" width="120" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Energy Usage DB -->
|
|
<mxCell id="17" value="<<database>><br>Energy Usage DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="1060" y="290" width="120" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Device Registry DB -->
|
|
<mxCell id="18" value="<<database>><br>Device Registry DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="930" y="360" width="120" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Settings & Config DB -->
|
|
<mxCell id="19" value="<<database>><br>Settings & Config DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="1060" y="360" width="120" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Smart Thermostat Device Node -->
|
|
<mxCell id="20" value="<<device>><br>Smart Thermostat Control Unit" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="80" y="600" width="300" height="400" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Thermostat OS -->
|
|
<mxCell id="21" value="<<artifact>><br>Smart Thermostat<br>Operating System" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="110" y="660" width="240" height="80" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Local Settings DB -->
|
|
<mxCell id="22" value="<<database>><br>Local Settings DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="130" y="770" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Control Panel Interface -->
|
|
<mxCell id="23" value="<<interface>><br>Physical Control Panel" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="250" y="770" width="100" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- User Interface (Physical) -->
|
|
<mxCell id="24" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor=#ff6b6b;" vertex="1" parent="1">
|
|
<mxGeometry x="215" y="880" width="30" height="60" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="25" value="Physical Access" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=12;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="180" y="950" width="100" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Smart Home Components Node -->
|
|
<mxCell id="26" value="<<device>><br>Smart Home Components" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="480" y="600" width="300" height="400" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Temperature Sensors -->
|
|
<mxCell id="27" value="<<device>><br>Temperature Sensors" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="510" y="660" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Humidity Sensors -->
|
|
<mxCell id="28" value="<<device>><br>Humidity Sensors" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="650" y="660" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Motion Sensors -->
|
|
<mxCell id="29" value="<<device>><br>Motion/Occupancy<br>Sensors" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="510" y="750" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Smart Vents -->
|
|
<mxCell id="30" value="<<device>><br>Smart Air Vents" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="650" y="750" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- HVAC Interface -->
|
|
<mxCell id="31" value="<<interface>><br>HVAC Control Interface" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="580" y="840" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- HVAC System Node -->
|
|
<mxCell id="32" value="<<device>><br>HVAC System" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="880" y="600" width="300" height="400" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Heating Unit -->
|
|
<mxCell id="33" value="<<device>><br>Heating Unit<br>(Furnace/Boiler)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="910" y="660" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Cooling Unit -->
|
|
<mxCell id="34" value="<<device>><br>Cooling Unit<br>(Air Conditioner)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="1050" y="660" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Ventilation System -->
|
|
<mxCell id="35" value="<<device>><br>Ventilation System<br>(Fans & Ducts)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="910" y="750" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Air Quality Control -->
|
|
<mxCell id="36" value="<<device>><br>Air Quality Control<br>(Filters & Purifiers)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="1050" y="750" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- HVAC Controller -->
|
|
<mxCell id="37" value="<<artifact>><br>HVAC Control System" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
|
|
<mxGeometry x="980" y="840" width="120" height="60" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Communication Lines -->
|
|
|
|
<!-- HTTPS Connection Mobile to Server -->
|
|
<mxCell id="38" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#ff9800;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="3" target="9">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="39" value="HTTPS / REST API<br>TCP/IP over Internet" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="38">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- SQL Connection Server to DB -->
|
|
<mxCell id="40" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#9c27b0;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="9" target="14">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="41" value="SQL / TCP-IP<br>Database Queries" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="40">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- MQTT/WiFi Connection Server to Thermostat -->
|
|
<mxCell id="42" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#4caf50;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="9" target="20">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="43" value="MQTT over TLS<br>WiFi / TCP-IP" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="42">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- IoT Connection Thermostat to Smart Components -->
|
|
<mxCell id="44" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#2196f3;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="20" target="26">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="45" value="Zigbee / Bluetooth LE<br>IoT Mesh Network" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="44">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Wired Connection Smart Components to HVAC -->
|
|
<mxCell id="46" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#f44336;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="26" target="32">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="47" value="24V DC Wired Control<br>Direct Physical Connection" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="46">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Protocol Legend -->
|
|
<mxCell id="48" value="Communication Protocols:" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=14;fontStyle=1;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="150" width="200" height="30" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="49" value="• HTTPS/REST = Secure web API communication" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#ff9800;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="185" width="280" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="50" value="• SQL/TCP-IP = Database server communication" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#9c27b0;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="210" width="280" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="51" value="• MQTT/TLS = IoT messaging protocol" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#4caf50;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="235" width="280" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="52" value="• Zigbee/BLE = Low-power IoT mesh network" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#2196f3;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="260" width="280" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="53" value="• 24V DC Wired = Direct HVAC control signals" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#f44336;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="285" width="280" height="20" as="geometry" />
|
|
</mxCell>
|
|
|
|
<!-- Footer -->
|
|
<mxCell id="54" value="The completed UML deployment diagram showing detailed smart thermostat system architecture" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=12;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="400" y="1050" width="800" height="30" as="geometry" />
|
|
</mxCell>
|
|
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile> |