100 lines
26 KiB
XML
100 lines
26 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="934px" preserveAspectRatio="none" style="width:784px;height:934px;background:#FFFFFF;" version="1.1" viewBox="0 0 784 934" width="784px" zoomAndPan="magnify"><defs/><g><!--MD5=[30afa6242ed7a9da9c35c8eba5ba651d]
|
||
cluster Kubernetes--><g id="cluster_Kubernetes"><path d="M41.2994,152.5501 C51.4771,130.6543 74.2888,123.4438 90.2083,146.271 C105.42,121.5843 121.8412,126.6464 137.7649,145.4931 C151.9692,116.7098 179.1878,122.6657 193.1159,145.7878 C207.8065,123.3304 224.5712,126.9621 238.054,147.0632 C252.6568,116.6757 268.3585,115.8689 289.8105,140.636 C304.028,116.8723 325.4033,114.7463 341.1391,139.0135 C353.5828,114.7051 368.9601,111.5836 385.9597,134.7084 C405.064,110.426 428.2276,115.7176 442.0843,140.6881 C457.6926,111.7844 477.5226,114.197 494.7069,139.1482 C510.7034,117.4417 527.8157,123.0031 540.4552,142.8447 C551.8241,120.6792 575.7006,119.6474 588.6521,141.0958 C608.9576,112.474 628.6798,115.0314 644.6815,145.1977 C662.4418,125.7719 678.5655,126.3576 690.1213,151.5205 C708.5201,129.5687 726.1713,130.7552 743.3414,153 C747.0874,154.1767 747.7056,156.9674 745.2455,159.8653 C770.423,170.0481 767.8041,188.4416 751.6533,204.5508 C777.0214,216.3656 770.5575,238.5684 752.1172,250.8226 C769.8638,265.0957 769.1224,285.3849 745.2296,292.8309 C766.9313,303.1594 771.4442,322.1081 751.6425,338.2914 C774.0367,353.5313 775.19,375.8372 748.3682,387.8237 C772.9486,404.3001 771.3735,420.0909 751.7311,439.4481 C773.539,454.5313 767.6762,470.0147 749.1993,482.7419 C770.4151,496.109 770.5845,512.5668 749.0229,525.7584 C772.2147,537.9973 774.2572,556.0624 752.2319,571.4752 C769.7097,589.5422 770.2993,604.1244 746.4852,616.9764 C772.1605,629.7253 774.4244,650.0875 752.2988,668.2556 C766.8413,688.4093 762.7637,708.8306 736.3414,715 C741.091,715.2786 742.8401,717.7746 741.2076,722.3047 C724.759,745.3796 704.7799,747.5634 690.2828,720.3293 C675.5995,740.6893 653.9464,743.413 639.3561,720.2205 C627.7765,741.9062 605.7534,746.8633 590.5686,724.1851 C574.6562,743.5451 555.587,745.3504 541.4914,722.0928 C526.4318,745.0799 504.954,744.8594 493.1864,718.8474 C480.2143,742.5657 457.805,744.509 440.5253,723.9732 C423.8143,747.6431 403.0577,743.7461 388.1671,721.88 C373.4635,746.5618 352.8183,742.1315 339.2863,720.6399 C323.8947,744.276 307.5588,752.3076 287.0639,725.9732 C269.3167,746.8229 251.9207,747.6717 236.6917,723.1759 C219.7294,745.706 204.1551,747.534 187.4977,722.8581 C173.4508,747.1579 152.918,749.5387 138.3064,723.4089 C121.0578,748.122 98.9091,743.9101 88.4435,716.8733 C69.0466,743.9734 38.7593,741.7184 28.3414,708 C29.7282,708.2797 29.9984,708.8926 29.1699,710.0623 C8.5377,695.8804 16.3029,676.3932 35.6231,668.3995 C13.3256,651.842 15.5855,635.7658 36.7486,620.2236 C12.199,610.723 9.465,588.3275 28.2096,571.2744 C13.2613,555.2838 14.371,539.079 36.0844,530.1002 C12.6576,517.0098 11.7011,493.2682 34.3559,478.6302 C10.3989,465.7346 15.105,452.2311 30.92,436.1209 C10.8733,419.8459 6,402.9892 31.049,386.8321 C10.9538,371.8448 12.2342,353.302 36.4513,343.8893 C10.994,331.0062 12.8286,316.3307 30.4234,297.8151 C11.304,281.2814 8.7753,259.5866 35.2551,247.4252 C11.044,236.8884 7.3019,215.893 29.7248,199.9266 C8.9295,182.6989 6.038,158.0097 35.3414,146 C40.1244,144.7709 42.548,148.2928 41.2994,152.5501 " 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="339.3414" 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="273.3414" y="207"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="378.3414" y="212"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="376.3414" y="214"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="376.3414" y="218"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="59" x="306.3414" y="232.9951">Ingress</text></g><!--MD5=[9132304c441034c2c431848372ce2d71]
|
||
cluster Main Node Cluster--><g id="cluster_Main Node Cluster"><polygon fill="none" points="44.3414,395,54.3414,385,348.3414,385,348.3414,689,338.3414,699,44.3414,699,44.3414,395" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="338.3414" x2="348.3414" y1="395" y2="385"/><line style="stroke:#181818;stroke-width:1.0;" x1="44.3414" x2="338.3414" y1="395" y2="395"/><line style="stroke:#181818;stroke-width:1.0;" x1="338.3414" x2="338.3414" y1="395" y2="699"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="144" x="120.3414" y="410.9951">Main Node Cluster</text></g><!--MD5=[b6b7207982b68db46f560888ead706d9]
|
||
cluster pi--><g id="cluster_pi"><polygon fill="none" points="372.3414,501,382.3414,491,727.3414,491,727.3414,684,717.3414,694,372.3414,694,372.3414,501" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="717.3414" x2="727.3414" y1="501" y2="491"/><line style="stroke:#181818;stroke-width:1.0;" x1="372.3414" x2="717.3414" y1="501" y2="501"/><line style="stroke:#181818;stroke-width:1.0;" x1="717.3414" x2="717.3414" y1="501" y2="694"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="146" x="472.8414" y="516.9951">Raspberry Pi Node</text></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="268.3414" y="185.6982">HTTPS</text><rect fill="#F1F1F1" height="12" style="stroke:#181818;stroke-width:1.5;" width="12" x="285.3414" y="201"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="359.8414" y="185.6982">MQTT</text><rect fill="#F1F1F1" height="12" style="stroke:#181818;stroke-width:1.5;" width="12" x="374.3414" 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="60.3414" y="425"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="188.3414" y="430"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="186.3414" y="432"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="186.3414" y="436"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="75.3414" y="457.9951">Home Assistant</text></g><!--MD5=[e6d32054fcb97c68952b5c4281bf48c7]
|
||
entity mqtt--><g id="elem_mqtt"><path d="M248.8414,435 L327.8414,435 C332.8414,435 332.8414,448.1484 332.8414,448.1484 C332.8414,448.1484 332.8414,461.2969 327.8414,461.2969 L248.8414,461.2969 C243.8414,461.2969 243.8414,448.1484 243.8414,448.1484 C243.8414,448.1484 243.8414,435 248.8414,435 " fill="#F1F1F1" style="stroke:#181818;stroke-width:0.5;"/><path d="M327.8414,435 C322.8414,435 322.8414,448.1484 322.8414,448.1484 C322.8414,461.2969 327.8414,461.2969 327.8414,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="248.8414" y="452.9951">Mosquitto</text></g><!--MD5=[e68cf4e23b6b50fc28395e5f9c35c1cb]
|
||
entity piper--><g id="elem_piper"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="75" x="59.8414" y="637"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="114.8414" y="642"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="112.8414" y="644"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="112.8414" y="648"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="74.8414" y="669.9951">Piper</text></g><!--MD5=[4e89369b90371580650f5e4a5c180f32]
|
||
entity whisper--><g id="elem_whisper"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="96" x="170.3414" y="637"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="246.3414" y="642"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="244.3414" y="644"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="244.3414" y="648"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="185.3414" y="669.9951">Whisper</text></g><!--MD5=[0e1fecc31e3549f2a1667c6349b56d9e]
|
||
entity postgres--><g id="elem_postgres"><path d="M170.8414,541.5 C170.8414,531.5 221.3414,531.5 221.3414,531.5 C221.3414,531.5 271.8414,531.5 271.8414,541.5 L271.8414,566.7969 C271.8414,576.7969 221.3414,576.7969 221.3414,576.7969 C221.3414,576.7969 170.8414,576.7969 170.8414,566.7969 L170.8414,541.5 " fill="#F1F1F1" style="stroke:#181818;stroke-width:0.5;"/><path d="M170.8414,541.5 C170.8414,551.5 221.3414,551.5 221.3414,551.5 C221.3414,551.5 271.8414,551.5 271.8414,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="180.8414" 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="387.8414" y="531"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="516.8414" y="536"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="514.8414" y="538"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="514.8414" y="542"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="402.8414" 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="571.8414" y="531"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="690.8414" y="536"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="688.8414" y="538"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="688.8414" y="542"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="586.8414" 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="571.3414" y="642"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="581.3414" y="664.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="393.3414" y="642"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="403.3414" y="664.9951">ZWave Controller</text></g><!--MD5=[fee662a292a0353a69bd162820bae93b]
|
||
entity User--><g id="elem_User"><ellipse cx="291.3414" 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="265.3414" y="24.2468"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="275.3414" 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="383.8414" y="11"/><rect fill="#F1F1F1" height="48.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="379.8414" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="387.8414" y="27.9951">Sensors and</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="387.8414" y="44.292">Devices</text></g><!--MD5=[7ca76e0ce9ba69a42f83c7ba68d1c9e0]
|
||
link z2m to usb_zigbee--><g id="link_z2m_usb_zigbee"><path d="M641.3414,577.06 C641.3414,594.56 641.3414,618.94 641.3414,636.55 " fill="none" id="z2m-to-usb_zigbee" style="stroke:#FF0000;stroke-width:1.0;"/><polygon fill="#FF0000" points="641.3414,641.78,645.3414,632.78,641.3414,636.78,637.3414,632.78,641.3414,641.78" style="stroke:#FF0000;stroke-width:1.0;"/></g><!--MD5=[c45abf488a30494e870fcd568001ab7f]
|
||
link zwavejs to usb_zwave--><g id="link_zwavejs_usb_zwave"><path d="M462.3414,577.06 C462.3414,594.56 462.3414,618.94 462.3414,636.55 " fill="none" id="zwavejs-to-usb_zwave" style="stroke:#FF0000;stroke-width:1.0;"/><polygon fill="#FF0000" points="462.3414,641.78,466.3414,632.78,462.3414,636.78,458.3414,632.78,462.3414,641.78" style="stroke:#FF0000;stroke-width:1.0;"/></g><!--MD5=[2eaeac1b6463e8a58895c359d8ccf3ef]
|
||
link User to ingress_http--><g id="link_User_ingress_http"><path d="M291.3414,61.3 C291.3414,100.01 291.3414,169.79 291.3414,195.83 " fill="none" id="User-to-ingress_http" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="291.3414,200.96,295.3414,191.96,291.3414,195.96,287.3414,191.96,291.3414,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="M425.4114,60.18 C413.4914,98.73 391.5114,169.86 383.4314,196.01 " fill="none" id="sensors-to-ingress_mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="381.9214,200.88,388.396,193.4584,383.3949,196.102,380.7513,191.1009,381.9214,200.88" style="stroke:#800080;stroke-width:1.0;"/></g><!--MD5=[640d58796ac87721643faad5c0527562]
|
||
reverse link sensors to hass--><g id="link_sensors_hass"><path d="M441.1914,65.45 C449.1714,99.61 460.3414,156.36 460.3414,206 C460.3414,206 460.3414,206 460.3414,295.5 C460.3414,359.35 335.0514,326.27 226.3414,377 C200.5114,389.05 175.0314,409.27 157.4614,424.89 " fill="none" id="sensors-backto-hass" style="stroke:#ADD8E6;stroke-width:1.0;"/><polygon fill="#ADD8E6" points="439.9414,60.16,438.1297,69.8408,441.097,65.0246,445.9131,67.9919,439.9414,60.16" style="stroke:#ADD8E6;stroke-width:1.0;"/></g><!--MD5=[5cf90139667a1e51a2d38d4c52eb965b]
|
||
link ingress to hass--><g id="link_ingress_hass"><path d="M300.8566,328.1603 C300.705,328.2552 300.5532,328.3503 300.4012,328.4454 C299.1856,329.2068 297.9589,329.9765 296.7222,330.7539 C294.2488,332.3086 291.7353,333.8942 289.1902,335.5063 C268.8289,348.4025 246.4414,362.99 226.3414,377 C206.0014,391.18 183.8714,407.97 166.4114,421.56 " fill="none" id="ingress-to-hass" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="162.0814,424.94,171.6396,422.5648,166.0259,421.8673,166.7233,416.2536,162.0814,424.94" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[0ffb3635875a9fa0acc167011742fe21]
|
||
link ingress to zwavejs--><g id="link_ingress_zwavejs"><path d="M358.0905,328.199 C358.116,328.38 358.1416,328.5615 358.1674,328.7435 C358.3736,330.2001 358.5896,331.6934 358.8158,333.2213 C360.6252,345.4438 363.0839,359.8725 366.3664,375.33 C372.9314,406.245 382.7914,441.275 397.3414,471 C407.4314,491.61 423.3814,511.84 436.9614,527.05 " fill="none" id="ingress-to-zwavejs" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="440.3614,530.81,437.2941,521.451,437.0087,527.1006,431.3591,526.8153,440.3614,530.81" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[5130fa1120dc4fbbc9c93a42cfa7cd2b]
|
||
link ingress to z2m--><g id="link_ingress_z2m"><path d="M390.8863,328.2904 C391.4264,328.775 391.9713,329.2639 392.5207,329.7568 C393.6195,330.7426 394.7366,331.745 395.8714,332.7631 C400.4103,336.8355 405.2309,341.1605 410.2861,345.6961 C430.5071,363.8384 454.4827,385.3494 479.2089,407.5338 C528.6614,451.9025 581.1164,498.965 612.5414,527.16 " fill="none" id="ingress-to-z2m" style="stroke:#0000FF;stroke-width:1.0;"/><polygon fill="#0000FF" points="616.5614,530.77,612.5476,521.7761,612.845,527.4252,607.1959,527.7225,616.5614,530.77" style="stroke:#0000FF;stroke-width:1.0;"/></g><!--MD5=[1015ab4ec28bfa1bb9d7cd52675e4533]
|
||
link ingress to mqtt--><g id="link_ingress_mqtt"><path d="M339.9794,328.4617 C339.8389,328.7842 339.6978,329.1081 339.556,329.4336 C335.0186,339.8484 329.8121,351.7994 324.4952,364.0038 C313.8614,388.4125 302.7864,413.835 295.7414,430.01 " fill="none" id="ingress-to-mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="293.6314,434.87,300.8958,428.2195,295.6303,430.2869,293.5629,425.0214,293.6314,434.87" style="stroke:#800080;stroke-width:1.0;"/></g><!--MD5=[9daf2f7d234cf58b6b300dbd08850eb7]
|
||
link hass to postgres--><g id="link_hass_postgres"><path d="M152.7914,471.06 C166.4914,487.44 185.2314,509.83 199.6514,527.07 " fill="none" id="hass-to-postgres" style="stroke:#008080;stroke-width:1.0;"/><polygon fill="#008080" points="203.2114,531.33,200.5054,521.8602,200.0035,527.4947,194.369,526.9929,203.2114,531.33" style="stroke:#008080;stroke-width:1.0;"/></g><!--MD5=[e530c0b8fd179adb0629d520b2a9c8ce]
|
||
link hass to zwavejs--><g id="link_hass_zwavejs"><path d="M208.4814,467.65 C214.5014,468.88 220.5114,470.02 226.3414,471 C280.0714,480.02 296.7014,465.64 348.3414,483 C378.2714,493.06 408.5514,512.18 430.3814,527.89 " fill="none" id="hass-to-zwavejs" style="stroke:#FFA500;stroke-width:1.0;"/><polygon fill="#FFA500" points="434.6314,530.99,429.7091,522.4594,430.589,528.0474,425.001,528.9274,434.6314,530.99" style="stroke:#FFA500;stroke-width:1.0;"/></g><!--MD5=[b14e73ddc23d5fb1bc1c449589c489bc]
|
||
link hass to piper--><g id="link_hass_piper"><path d="M128.1114,471.24 C127.1114,475.14 126.1514,479.18 125.3414,483 C114.3214,535.15 105.4514,596.82 100.8314,631.58 " fill="none" id="hass-to-piper" style="stroke:#FFC0CB;stroke-width:1.0;"/><polygon fill="#FFC0CB" points="100.1214,636.92,105.2695,628.5237,100.7785,631.9634,97.3389,627.4724,100.1214,636.92" style="stroke:#FFC0CB;stroke-width:1.0;"/></g><!--MD5=[9fca676b5c3763575c3e0bc21326de98]
|
||
link hass to whisper--><g id="link_hass_whisper"><path d="M134.2014,471.23 C134.8014,497.54 138.2514,542.16 153.3414,577 C162.3914,597.9 178.1714,618 191.9114,633.06 " fill="none" id="hass-to-whisper" style="stroke:#FFC0CB;stroke-width:1.0;"/><polygon fill="#FFC0CB" points="195.3614,636.78,192.163,627.465,191.957,633.1181,186.3039,632.9121,195.3614,636.78" style="stroke:#FFC0CB;stroke-width:1.0;"/></g><!--MD5=[44532c20c1898bf5b8490e04284282e7]
|
||
link hass to mqtt--><g id="link_hass_mqtt"><path d="M208.6314,448 C218.6214,448 228.6114,448 238.5914,448 " fill="none" id="hass-to-mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="243.8214,448,234.8214,444,238.8214,448,234.8214,452,243.8214,448" style="stroke:#800080;stroke-width:1.0;"/></g><!--MD5=[750a72ec489501e1e5fee7612d1663b0]
|
||
link z2m to mqtt--><g id="link_z2m_mqtt"><path d="M621.2014,530.77 C604.9214,514.43 580.4814,493.35 554.3414,483 C521.8114,470.12 432.0014,475.8 397.3414,471 C377.8514,468.3 356.6014,464.26 338.0914,460.38 " fill="none" id="z2m-to-mqtt" style="stroke:#800080;stroke-width:1.0;"/><polygon fill="#800080" points="332.9414,459.29,340.9277,465.0536,337.8348,460.3172,342.5712,457.2242,332.9414,459.29" style="stroke:#800080;stroke-width:1.0;"/></g><rect fill="#DDDDDD" height="144.375" id="_legend" rx="7.5" ry="7.5" style="stroke:#000000;stroke-width:1.0;" width="135.3333" x="622.6881" y="770.3076"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="627.6881" y="788.3027">Legend</text><path d="M634.5214,797.068 L634.5214,799.4014 L628.6881,799.4014 L628.6881,800.568 L634.5214,800.568 L634.5214,802.9014 L638.0214,799.9497 L634.5214,797.068 " 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="639.0214" y="806.5996"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="37" x="647.0214" y="806.5996">HTTP</text><path d="M634.5214,813.3649 L634.5214,815.6983 L628.6881,815.6983 L628.6881,816.8649 L634.5214,816.8649 L634.5214,819.1983 L638.0214,816.2466 L634.5214,813.3649 " 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="639.0214" y="822.8965"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="647.0214" y="822.8965">MQTT</text><path d="M634.5214,829.6618 L634.5214,831.9951 L628.6881,831.9951 L628.6881,833.1618 L634.5214,833.1618 L634.5214,835.4951 L638.0214,832.5435 L634.5214,829.6618 " 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="639.0214" y="839.1934"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="647.0214" y="839.1934">WebSocket</text><path d="M634.5214,845.9587 L634.5214,848.292 L628.6881,848.292 L628.6881,849.4587 L634.5214,849.4587 L634.5214,851.792 L638.0214,848.8403 L634.5214,845.9587 " 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="639.0214" y="855.4902"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="647.0214" y="855.4902">PostgreSQL</text><path d="M634.5214,862.2555 L634.5214,864.5889 L628.6881,864.5889 L628.6881,865.7555 L634.5214,865.7555 L634.5214,868.0889 L638.0214,865.1372 L634.5214,862.2555 " 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="639.0214" y="871.7871"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="647.0214" y="871.7871">USB</text><path d="M634.5214,878.5524 L634.5214,880.8858 L628.6881,880.8858 L628.6881,882.0524 L634.5214,882.0524 L634.5214,884.3858 L638.0214,881.4341 L634.5214,878.5524 " 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="639.0214" y="888.084"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="647.0214" y="888.084">ESPHome, etc.</text><path d="M634.5214,894.8493 L634.5214,897.1826 L628.6881,897.1826 L628.6881,898.3493 L634.5214,898.3493 L634.5214,900.6826 L638.0214,897.731 L634.5214,894.8493 " fill="#FFC0CB" style="stroke:;stroke-width:0.0;stroke-dasharray:;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="639.0214" y="904.3809"> </text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="647.0214" y="904.3809">Wyoming</text><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="793.6045" y2="793.6045"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="809.9014" y2="809.9014"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="826.1983" y2="826.1983"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="842.4951" y2="842.4951"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="858.792" y2="858.792"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="875.0889" y2="875.0889"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="891.3858" y2="891.3858"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="753.0214" y1="907.6826" y2="907.6826"/><line style="stroke:#000000;stroke-width:1.0;" x1="627.6881" x2="627.6881" y1="793.6045" y2="907.6826"/><line style="stroke:#000000;stroke-width:1.0;" x1="643.0214" x2="643.0214" y1="793.6045" y2="907.6826"/><line style="stroke:#000000;stroke-width:1.0;" x1="753.0214" x2="753.0214" y1="793.6045" y2="907.6826"/><!--MD5=[34ba157242fd21566ab41cca545a887b]
|
||
@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
|
||
[Piper] as piper
|
||
[Whisper] as whisper
|
||
|
||
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 -[#pink]- -> piper
|
||
hass -[#pink]- -> whisper
|
||
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. |
|
||
|<color:pink><&arrow-right></color> | Wyoming |
|
||
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> |