91 lines
23 KiB
XML
91 lines
23 KiB
XML
<?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" contentStyleType="text/css" height="904px" preserveAspectRatio="none" style="width:806px;height:904px;background:#FFFFFF;" version="1.1" viewBox="0 0 806 904" width="806px" zoomAndPan="magnify"><defs/><g><!--MD5=[30afa6242ed7a9da9c35c8eba5ba651d]
|
||
cluster Kubernetes--><g id="cluster_Kubernetes"><path d="M57.2464,148.1425 C72.8123,128.8286 92.214,128.189 104.1087,152.1208 C115.7855,125.9835 142.1581,124.0586 157.8015,147.8557 C174.7207,126.4009 190.4163,119.4539 208.8861,146.2129 C220.4319,124.7817 239.8038,123.3179 252.18,145.3865 C265.4054,116.8808 289.5264,121.9115 303.9488,144.1658 C316.042,121.3276 334.8681,116.5609 352.2244,138.4902 C371.1235,111.7039 392.4528,111.3115 407.4913,142.1903 C420.044,120.2913 443.4672,114.165 457.8072,140.3187 C475.5697,123.8482 490.7774,125.5852 502.6847,147.2153 C515.9414,119.7659 535.6072,120.5546 551.3573,144.8709 C568.6659,115.679 585.6118,116.5042 603.991,143.8748 C622.3743,123.9819 638.1705,121.9282 651.2182,149.2157 C668.9889,127.8663 690.3538,124.3244 703.8279,153.6742 C721.8845,128.2877 739.4773,127.8107 758.1615,153 C760.0939,150.3048 762.8554,150.9003 763.9312,153.8722 C795.2957,169.872 793.7945,199.6149 762.9268,214.5852 C783.9446,231.9871 786.6811,250.7977 762.0782,267.4676 C785.2304,280.2895 788.4834,303.7953 766.3992,320.3157 C796.7514,338.2627 799.0321,359.3501 768.0422,379.0141 C790.7218,397.2949 797.683,414.2817 768.8201,433.301 C793.1584,449.9711 788.9279,476.6614 762.3823,487.2607 C785.2615,500.8452 786.708,522.4744 765.7714,538.9327 C789.6793,556.8885 785.0589,581.9199 760.3164,595.1555 C785.0846,612.1021 786.9606,631.045 759.6634,647.3401 C788.6784,670.296 784.2483,691.2011 751.1615,705 C753.9105,703.3567 756.1792,704.5693 755.8395,707.9031 C743.9935,728.3559 722.1519,734.9088 707.1417,711.409 C692.7617,732.9379 675.0014,731.0549 660.1188,711.9912 C641.6745,730.9877 623.0641,735.4859 609.2687,707.0115 C592.7529,735.5083 572.2415,734.797 554.0718,708.6831 C540.9951,733.4752 524.5135,735.8995 507.5171,712.4671 C493.8927,733.4646 473.514,735.0527 458.7675,713.7606 C442.071,736.9118 422.5399,737.7854 406.0193,713.5648 C391.6064,737.1455 374.3008,734.3677 359.0107,714.5142 C341.5876,738.6061 317.2427,736.8273 303.8695,710.1183 C292.1007,729.1648 270.8352,734.5268 257.7185,711.6005 C240.2799,735.3634 215.9742,735.6205 200.6439,709.2026 C186.8379,729.7348 164.7386,733.5557 152.7342,707.3555 C137.7461,731.2365 115.5488,735.2576 100.3711,707.5479 C78.5434,733.8745 55.2045,730.3017 43.1615,698 C46.1117,695.1937 47.9891,696.1241 49.7114,699.3364 C21.8893,684.4856 21.8099,665.8628 44.2392,645.8691 C19.3074,629.8246 20.8732,613.8603 44.3479,597.9256 C12.5741,581.7396 11.1125,564.5247 38.7887,542.3879 C14.4088,525.3824 11.611,498.4657 42.0357,484.5361 C17.8014,474.6108 14.5005,451.4402 32.8469,433.8027 C6,410.069 12.1165,390.9244 41.619,375.6978 C12.902,361.9919 12.2401,343.0865 36.137,323.8207 C13.1544,303.9336 9.9996,273.8305 44.8475,262.1057 C17.4969,249.3735 18.0006,229.7354 41.4737,213.4772 C9.8735,187.859 12.1311,162.6532 50.1615,146 C52.9857,143.1926 56.3201,144.6737 57.2464,148.1425 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="93" x="354.1615" y="163.9951">Kubernetes</text></g><!--MD5=[e096f79fa97ccfd89068ba218504e485]
|
||
cluster ingress--><g id="cluster_ingress"><rect fill="none" height="121" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="125" x="288.1615" y="207"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="393.1615" y="212"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="391.1615" y="214"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="391.1615" y="218"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="59" x="321.1615" y="232.9951">Ingress</text></g><!--MD5=[9132304c441034c2c431848372ce2d71]
|
||
cluster Main Node Cluster--><g id="cluster_Main Node Cluster"><polygon fill="none" points="59.1615,395,69.1615,385,363.1615,385,363.1615,582.5,353.1615,592.5,59.1615,592.5,59.1615,395" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="353.1615" x2="363.1615" y1="395" y2="385"/><line style="stroke:#181818;stroke-width:1.0;" x1="59.1615" x2="353.1615" y1="395" y2="395"/><line style="stroke:#181818;stroke-width:1.0;" x1="353.1615" x2="353.1615" y1="395" y2="592.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="144" x="135.1615" y="410.9951">Main Node Cluster</text></g><!--MD5=[b6b7207982b68db46f560888ead706d9]
|
||
cluster pi--><g id="cluster_pi"><polygon fill="none" points="387.1615,501,397.1615,491,742.1615,491,742.1615,679,732.1615,689,387.1615,689,387.1615,501" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="732.1615" x2="742.1615" y1="501" y2="491"/><line style="stroke:#181818;stroke-width:1.0;" x1="387.1615" x2="732.1615" y1="501" y2="501"/><line style="stroke:#181818;stroke-width:1.0;" x1="732.1615" x2="732.1615" y1="501" y2="689"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="146" x="487.6615" y="516.9951">Raspberry Pi Node</text></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="283.1615" y="185.6982">HTTPS</text><rect fill="#F1F1F1" height="12" style="stroke:#181818;stroke-width:1.5;" width="12" x="300.1615" y="201"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="374.6615" y="185.6982">MQTT</text><rect fill="#F1F1F1" height="12" style="stroke:#181818;stroke-width:1.5;" width="12" x="389.1615" y="201"/><!--MD5=[6f6ee88b903e9122fbf4126c002fb2d0]
|
||
entity hass--><g id="elem_hass"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="148" x="75.1615" y="425"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="203.1615" y="430"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="201.1615" y="432"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="201.1615" y="436"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="90.1615" y="457.9951">Home Assistant</text></g><!--MD5=[e6d32054fcb97c68952b5c4281bf48c7]
|
||
entity mqtt--><g id="elem_mqtt"><path d="M263.6615,435 L342.6615,435 C347.6615,435 347.6615,448.1484 347.6615,448.1484 C347.6615,448.1484 347.6615,461.2969 342.6615,461.2969 L263.6615,461.2969 C258.6615,461.2969 258.6615,448.1484 258.6615,448.1484 C258.6615,448.1484 258.6615,435 263.6615,435 " fill="#F1F1F1" style="stroke:#181818;stroke-width:0.5;"/><path d="M342.6615,435 C337.6615,435 337.6615,448.1484 337.6615,448.1484 C337.6615,461.2969 342.6615,461.2969 342.6615,461.2969 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="263.6615" y="452.9951">Mosquitto</text></g><!--MD5=[0e1fecc31e3549f2a1667c6349b56d9e]
|
||
entity postgres--><g id="elem_postgres"><path d="M98.6615,541.5 C98.6615,531.5 149.1615,531.5 149.1615,531.5 C149.1615,531.5 199.6615,531.5 199.6615,541.5 L199.6615,566.7969 C199.6615,576.7969 149.1615,576.7969 149.1615,576.7969 C149.1615,576.7969 98.6615,576.7969 98.6615,566.7969 L98.6615,541.5 " fill="#F1F1F1" style="stroke:#181818;stroke-width:0.5;"/><path d="M98.6615,541.5 C98.6615,551.5 149.1615,551.5 149.1615,551.5 C149.1615,551.5 199.6615,551.5 199.6615,541.5 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="108.6615" y="568.4951">PostgreSQL</text></g><!--MD5=[4827c2927b443a06e6266dac7d086993]
|
||
entity zwavejs--><g id="elem_zwavejs"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="149" x="402.6615" y="531"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="531.6615" y="536"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="529.6615" y="538"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="529.6615" y="542"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="417.6615" y="563.9951">ZWaveJS2MQTT</text></g><!--MD5=[38f3d938844eb67d5d82edb8cfb99459]
|
||
entity z2m--><g id="elem_z2m"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="139" x="586.6615" y="531"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="705.6615" y="536"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="703.6615" y="538"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="703.6615" y="542"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="601.6615" y="563.9951">Zigbee2MQTT</text></g><!--MD5=[70ade6f0fe8f2173fde4b774eb8b51f5]
|
||
entity usb_zigbee--><g id="elem_usb_zigbee"><rect fill="#F1F1F1" height="36.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="140" x="586.1615" y="637"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="596.1615" y="659.9951">Zigbee Controller</text></g><!--MD5=[fcc4016428805e8cb4a49050bce51a85]
|
||
entity usb_zwave--><g id="elem_usb_zwave"><rect fill="#F1F1F1" height="36.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="408.1615" y="637"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="418.1615" y="659.9951">ZWave Controller</text></g><!--MD5=[fee662a292a0353a69bd162820bae93b]
|
||
entity User--><g id="elem_User"><ellipse cx="306.1615" cy="15.1234" fill="#F1F1F1" rx="9.1234" ry="9.1234" style="stroke:#181818;stroke-width:0.5;"/><rect fill="#F1F1F1" height="36.2969" rx="9.1234" ry="9.1234" style="stroke:#181818;stroke-width:0.5;" width="52" x="280.1615" y="24.2468"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="290.1615" y="47.2419">User</text></g><!--MD5=[6584cfc8ea64c302810bc960f7c86144]
|
||
entity sensors--><g id="elem_sensors"><rect fill="#F1F1F1" height="48.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="398.6615" y="11"/><rect fill="#F1F1F1" height="48.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="394.6615" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="402.6615" y="27.9951">Sensors and</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="402.6615" y="44.292">Devices</text></g><!--MD5=[7ca76e0ce9ba69a42f83c7ba68d1c9e0]
|
||
link z2m to usb_zigbee--><g id="link_z2m_usb_zigbee"><path d="M656.1615,577.46 C656.1615,593.66 656.1615,615.43 656.1615,631.61 " fill="none" id="z2m-to-usb_zigbee" style="stroke:#FF0000;stroke-width:1.0;"/><polygon fill="#FF0000" points="656.1615,636.87,660.1872,627.8815,656.1758,631.87,652.1872,627.8586,656.1615,636.87" style="stroke:#FF0000;stroke-width:1.0;"/></g><!--MD5=[c45abf488a30494e870fcd568001ab7f]
|
||
link zwavejs to usb_zwave--><g id="link_zwavejs_usb_zwave"><path d="M477.1615,577.46 C477.1615,593.66 477.1615,615.43 477.1615,631.61 " fill="none" id="zwavejs-to-usb_zwave" style="stroke:#FF0000;stroke-width:1.0;"/><polygon fill="#FF0000" points="477.1615,636.87,481.1872,627.8815,477.1758,631.87,473.1872,627.8586,477.1615,636.87" style="stroke:#FF0000;stroke-width:1.0;"/></g><!--MD5=[2eaeac1b6463e8a58895c359d8ccf3ef]
|
||
link User to ingress_http--><g id="link_User_ingress_http"><path d="M306.1615,61.3 C306.1615,100.01 306.1615,169.79 306.1615,195.83 " fill="none" id="User-to-ingress_http" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="306.1615,200.96,310.1615,191.96,306.1615,195.96,302.1615,191.96,306.1615,200.96" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[f4055cfd7d04694c3222861b21d1c5fb]
|
||
link sensors to ingress_mqtt--><g id="link_sensors_ingress_mqtt"><path d="M440.2315,60.18 C428.3115,98.73 406.3315,169.86 398.2515,196.01 " fill="none" id="sensors-to-ingress_mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="396.7415,200.88,403.2161,193.4584,398.2149,196.102,395.5713,191.1009,396.7415,200.88" style="stroke:#800080;stroke-width:1.0;"/></g><!--MD5=[640d58796ac87721643faad5c0527562]
|
||
reverse link sensors to hass--><g id="link_sensors_hass"><path d="M456.0115,65.45 C463.9915,99.61 475.1615,156.36 475.1615,206 C475.1615,206 475.1615,206 475.1615,295.5 C475.1615,359.35 349.8715,326.27 241.1615,377 C215.3315,389.05 189.8515,409.27 172.2815,424.89 " fill="none" id="sensors-backto-hass" style="stroke:#ADD8E6;stroke-width:1.0;"/><polygon fill="#ADD8E6" points="454.7615,60.16,452.9497,69.8408,455.917,65.0246,460.7332,67.9919,454.7615,60.16" style="stroke:#ADD8E6;stroke-width:1.0;"/></g><!--MD5=[5cf90139667a1e51a2d38d4c52eb965b]
|
||
link ingress to hass--><g id="link_ingress_hass"><path d="M315.6766,328.1603 C315.525,328.2552 315.3732,328.3503 315.2213,328.4454 C314.0057,329.2068 312.779,329.9765 311.5423,330.7539 C309.0689,332.3086 306.5554,333.8942 304.0102,335.5063 C283.649,348.4025 261.2615,362.99 241.1615,377 C220.8215,391.18 198.6915,407.97 181.2315,421.56 " fill="none" id="ingress-to-hass" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="176.9015,424.94,186.4596,422.5648,180.8459,421.8673,181.5434,416.2536,176.9015,424.94" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[0ffb3635875a9fa0acc167011742fe21]
|
||
link ingress to zwavejs--><g id="link_ingress_zwavejs"><path d="M372.9106,328.199 C372.936,328.38 372.9617,328.5615 372.9874,328.7435 C373.1937,330.2001 373.4097,331.6934 373.6359,333.2213 C375.4452,345.4438 377.904,359.8725 381.1865,375.33 C387.7515,406.245 397.6115,441.275 412.1615,471 C422.2515,491.61 438.2015,511.84 451.7815,527.05 " fill="none" id="ingress-to-zwavejs" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="455.1815,530.81,452.1141,521.451,451.8288,527.1006,446.1791,526.8153,455.1815,530.81" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[5130fa1120dc4fbbc9c93a42cfa7cd2b]
|
||
link ingress to z2m--><g id="link_ingress_z2m"><path d="M405.7064,328.2904 C406.2465,328.775 406.7913,329.2639 407.3407,329.7568 C408.4395,330.7426 409.5567,331.745 410.6914,332.7631 C415.2304,336.8355 420.0509,341.1605 425.1062,345.6961 C445.3271,363.8384 469.3027,385.3494 494.029,407.5338 C543.4815,451.9025 595.9365,498.965 627.3615,527.16 " fill="none" id="ingress-to-z2m" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="631.3815,530.77,627.3677,521.7761,627.665,527.4252,622.016,527.7225,631.3815,530.77" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[1015ab4ec28bfa1bb9d7cd52675e4533]
|
||
link ingress to mqtt--><g id="link_ingress_mqtt"><path d="M354.7994,328.4617 C354.6589,328.7842 354.5178,329.1081 354.376,329.4336 C349.8387,339.8484 344.6321,351.7994 339.3152,364.0038 C328.6815,388.4125 317.6065,413.835 310.5615,430.01 " fill="none" id="ingress-to-mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="308.4515,434.87,315.7159,428.2195,310.4503,430.2869,308.383,425.0214,308.4515,434.87" style="stroke:#800080;stroke-width:1.0;"/></g><!--MD5=[9daf2f7d234cf58b6b300dbd08850eb7]
|
||
link hass to postgres--><g id="link_hass_postgres"><path d="M149.1615,471.06 C149.1615,487.16 149.1615,509.07 149.1615,526.19 " fill="none" id="hass-to-postgres" style="stroke:#008080;stroke-width:1.0;"/><polygon fill="#008080" points="149.1615,531.33,153.1615,522.33,149.1615,526.33,145.1615,522.33,149.1615,531.33" style="stroke:#008080;stroke-width:1.0;"/></g><!--MD5=[e530c0b8fd179adb0629d520b2a9c8ce]
|
||
link hass to zwavejs--><g id="link_hass_zwavejs"><path d="M223.3015,467.65 C229.3215,468.88 235.3315,470.02 241.1615,471 C294.8915,480.02 311.5215,465.64 363.1615,483 C393.0915,493.06 423.3715,512.18 445.2015,527.89 " fill="none" id="hass-to-zwavejs" style="stroke:#FFA500;stroke-width:1.0;"/><polygon fill="#FFA500" points="449.4515,530.99,444.5291,522.4594,445.409,528.0474,439.821,528.9274,449.4515,530.99" style="stroke:#FFA500;stroke-width:1.0;"/></g><!--MD5=[44532c20c1898bf5b8490e04284282e7]
|
||
link hass to mqtt--><g id="link_hass_mqtt"><path d="M223.4515,448 C233.4415,448 243.4315,448 253.4115,448 " fill="none" id="hass-to-mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="258.6415,448,249.6415,444,253.6415,448,249.6415,452,258.6415,448" style="stroke:#800080;stroke-width:1.0;"/></g><!--MD5=[750a72ec489501e1e5fee7612d1663b0]
|
||
link z2m to mqtt--><g id="link_z2m_mqtt"><path d="M636.0215,530.77 C619.7415,514.43 595.3015,493.35 569.1615,483 C536.6315,470.12 446.8215,475.8 412.1615,471 C392.6715,468.3 371.4215,464.26 352.9115,460.38 " fill="none" id="z2m-to-mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="347.7615,459.29,355.7478,465.0536,352.6548,460.3172,357.3913,457.2242,347.7615,459.29" style="stroke:#800080;stroke-width:1.0;"/></g><rect fill="#DDDDDD" height="128.0781" id="_legend" rx="7.5" ry="7.5" style="stroke:#000000;stroke-width:1.0;" width="135.3333" x="644.6988" y="756.6061"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="649.6988" y="774.6012">Legend</text><path d="M656.5321,783.3665 L656.5321,785.6998 L650.6988,785.6998 L650.6988,786.8665 L656.5321,786.8665 L656.5321,789.1998 L660.0321,786.2482 L656.5321,783.3665 " fill="#0000FF" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="661.0321" y="792.8981"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="37" x="669.0321" y="792.8981">HTTP</text><path d="M656.5321,799.6634 L656.5321,801.9967 L650.6988,801.9967 L650.6988,803.1634 L656.5321,803.1634 L656.5321,805.4967 L660.0321,802.545 L656.5321,799.6634 " fill="#800080" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="661.0321" y="809.1949"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="669.0321" y="809.1949">MQTT</text><path d="M656.5321,815.9602 L656.5321,818.2936 L650.6988,818.2936 L650.6988,819.4602 L656.5321,819.4602 L656.5321,821.7936 L660.0321,818.8419 L656.5321,815.9602 " fill="#FFA500" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="661.0321" y="825.4918"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="669.0321" y="825.4918">WebSocket</text><path d="M656.5321,832.2571 L656.5321,834.5904 L650.6988,834.5904 L650.6988,835.7571 L656.5321,835.7571 L656.5321,838.0904 L660.0321,835.1388 L656.5321,832.2571 " fill="#008080" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="661.0321" y="841.7887"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="669.0321" y="841.7887">PostgreSQL</text><path d="M656.5321,848.554 L656.5321,850.8873 L650.6988,850.8873 L650.6988,852.054 L656.5321,852.054 L656.5321,854.3873 L660.0321,851.4357 L656.5321,848.554 " fill="#FF0000" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="661.0321" y="858.0856"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="669.0321" y="858.0856">USB</text><path d="M656.5321,864.8509 L656.5321,867.1842 L650.6988,867.1842 L650.6988,868.3509 L656.5321,868.3509 L656.5321,870.6842 L660.0321,867.7325 L656.5321,864.8509 " fill="#ADD8E6" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="661.0321" y="874.3824"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="669.0321" y="874.3824">ESPHome, etc.</text><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="779.9029" y2="779.9029"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="796.1998" y2="796.1998"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="812.4967" y2="812.4967"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="828.7936" y2="828.7936"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="845.0904" y2="845.0904"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="861.3873" y2="861.3873"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="775.0321" y1="877.6842" y2="877.6842"/><line style="stroke:#000000;stroke-width:1.0;" x1="649.6988" x2="649.6988" y1="779.9029" y2="877.6842"/><line style="stroke:#000000;stroke-width:1.0;" x1="665.0321" x2="665.0321" y1="779.9029" y2="877.6842"/><line style="stroke:#000000;stroke-width:1.0;" x1="775.0321" x2="775.0321" y1="779.9029" y2="877.6842"/><!--MD5=[8c0c21c8b43cccde4ab6dc47d49e42a1]
|
||
@startuml
|
||
|
||
person User
|
||
collections "Sensors and\nDevices" as sensors
|
||
|
||
cloud Kubernetes {
|
||
component Ingress as ingress {
|
||
port HTTPS as ingress_http
|
||
port MQTT as ingress_mqtt
|
||
}
|
||
|
||
node "Main Node Cluster" {
|
||
[Home Assistant] as hass
|
||
queue Mosquitto as mqtt
|
||
|
||
database PostgreSQL as postgres
|
||
}
|
||
|
||
node "Raspberry Pi Node" as pi {
|
||
[ZWaveJS2MQTT] as zwavejs
|
||
[Zigbee2MQTT] as z2m
|
||
|
||
rectangle "Zigbee Controller" as usb_zigbee
|
||
rectangle "ZWave Controller" as usb_zwave
|
||
|
||
z2m-[#red]-> usb_zigbee
|
||
zwavejs -[#red]-> usb_zwave
|
||
}
|
||
|
||
User - -[#blue]-> ingress_http
|
||
sensors - -[#purple]-> ingress_mqtt
|
||
sensors <-[#lightblue]- - - hass
|
||
|
||
ingress - -[#blue]-> hass
|
||
ingress - - -[#blue]-> zwavejs
|
||
ingress - - -[#blue]-> z2m
|
||
ingress - -[#purple]-> mqtt
|
||
hass -[#teal]-> postgres
|
||
hass -[#orange]-> zwavejs
|
||
hass -[#purple]> mqtt
|
||
z2m -[#purple]-> mqtt
|
||
|
||
}
|
||
|
||
|
||
legend right
|
||
Legend
|
||
|<color:blue><&arrow-right></color> | HTTP |
|
||
|<color:purple><&arrow-right></color> | MQTT |
|
||
|<color:orange><&arrow-right></color> | WebSocket |
|
||
|<color:teal><&arrow-right></color> | PostgreSQL |
|
||
|<color:red><&arrow-right></color> | USB |
|
||
|<color:lightblue><&arrow-right></color> | ESPHome, etc. |
|
||
end legend
|
||
@enduml
|
||
|
||
PlantUML version 1.2022.12(Sun Oct 23 18:12:26 UTC 2022)
|
||
(GPL source distribution)
|
||
Java Runtime: OpenJDK Runtime Environment
|
||
JVM: OpenJDK 64-Bit Server VM
|
||
Default Encoding: UTF-8
|
||
Language: en
|
||
Country: null
|
||
--></g></svg> |