rename class Inverter into Proxy

This commit is contained in:
Stefan Allius
2024-10-04 23:37:05 +02:00
parent 3a94afb48d
commit 00e9a4534d
14 changed files with 300 additions and 232 deletions

View File

@@ -4,193 +4,257 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: G Pages: 1 -->
<svg width="463pt" height="882pt"
viewBox="0.00 0.00 463.35 882.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 878)">
<svg width="626pt" height="966pt"
viewBox="0.00 0.00 625.50 966.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 962)">
<title>G</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-878 459.348,-878 459.348,4 -4,4"/>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-962 621.5,-962 621.5,4 -4,4"/>
<!-- A0 -->
<g id="node1" class="node">
<title>A0</title>
<polygon fill="#fff8dc" stroke="#000000" points="108.5444,-850 .1516,-850 .1516,-814 114.5444,-814 114.5444,-844 108.5444,-850"/>
<polyline fill="none" stroke="#000000" points="108.5444,-850 108.5444,-844 "/>
<polyline fill="none" stroke="#000000" points="114.5444,-844 108.5444,-844 "/>
<text text-anchor="middle" x="57.348" y="-835" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">You can stick notes</text>
<text text-anchor="middle" x="57.348" y="-823" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">on diagrams too!</text>
<polygon fill="#fff8dc" stroke="#000000" points="191.6964,-934 83.3036,-934 83.3036,-898 197.6964,-898 197.6964,-928 191.6964,-934"/>
<polyline fill="none" stroke="#000000" points="191.6964,-934 191.6964,-928 "/>
<polyline fill="none" stroke="#000000" points="197.6964,-928 191.6964,-928 "/>
<text text-anchor="middle" x="140.5" y="-919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">You can stick notes</text>
<text text-anchor="middle" x="140.5" y="-907" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">on diagrams too!</text>
</g>
<!-- A1 -->
<g id="node2" class="node">
<title>A1</title>
<polygon fill="none" stroke="#000000" points="133.348,-842 133.348,-874 204.348,-874 204.348,-842 133.348,-842"/>
<text text-anchor="start" x="143.293" y="-855" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">IterRegistry</text>
<polygon fill="none" stroke="#000000" points="133.348,-822 133.348,-842 204.348,-842 204.348,-822 133.348,-822"/>
<polygon fill="none" stroke="#000000" points="133.348,-790 133.348,-822 204.348,-822 204.348,-790 133.348,-790"/>
<text text-anchor="start" x="150.787" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__iter__</text>
</g>
<!-- A3 -->
<g id="node4" class="node">
<title>A3</title>
<polygon fill="none" stroke="#000000" points="20.348,-708 20.348,-740 316.348,-740 316.348,-708 20.348,-708"/>
<text text-anchor="start" x="151.4015" y="-721" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Inverter</text>
<polygon fill="none" stroke="#000000" points="20.348,-592 20.348,-708 316.348,-708 316.348,-592 20.348,-592"/>
<text text-anchor="start" x="144.452" y="-689" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.db_stat</text>
<text text-anchor="start" x="137.7885" y="-677" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.entity_prfx</text>
<text text-anchor="start" x="128.6235" y="-665" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.discovery_prfx</text>
<text text-anchor="start" x="128.0595" y="-653" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.proxy_node_id</text>
<text text-anchor="start" x="124.1705" y="-641" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.proxy_unique_id</text>
<text text-anchor="start" x="140.0135" y="-629" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.mqtt:Mqtt</text>
<text text-anchor="start" x="137.7835" y="-605" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__ha_restarts</text>
<polygon fill="none" stroke="#000000" points="20.348,-560 20.348,-592 316.348,-592 316.348,-560 20.348,-560"/>
<text text-anchor="start" x="30.266" y="-573" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">async_create_remote(inv_prot, conn_class)async_publ_mqtt()</text>
</g>
<!-- A1&#45;&gt;A3 -->
<g id="edge5" class="edge">
<title>A1&#45;&gt;A3</title>
<path fill="none" stroke="#000000" d="M168.348,-779.6728C168.348,-767.2695 168.348,-753.6887 168.348,-740.1336"/>
<polygon fill="none" stroke="#000000" points="164.8481,-779.7881 168.348,-789.7881 171.8481,-779.7881 164.8481,-779.7881"/>
</g>
<!-- A2 -->
<g id="node3" class="node">
<title>A2</title>
<polygon fill="none" stroke="#000000" points="27.348,-466 27.348,-510 149.348,-510 149.348,-466 27.348,-466"/>
<text text-anchor="start" x="78.625" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Mqtt</text>
<text text-anchor="start" x="55.8295" y="-479" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;Singleton&gt;&gt;</text>
<polygon fill="none" stroke="#000000" points="27.348,-410 27.348,-466 149.348,-466 149.348,-410 27.348,-410"/>
<text text-anchor="start" x="45.8355" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;ha_restarts</text>
<text text-anchor="start" x="53.6145" y="-435" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;__client</text>
<text text-anchor="start" x="37.2215" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;__cb_MqttIsUp</text>
<polygon fill="none" stroke="#000000" points="27.348,-366 27.348,-410 149.348,-410 149.348,-366 27.348,-366"/>
<text text-anchor="start" x="50.284" y="-391" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;publish()</text>
<text text-anchor="start" x="54.4525" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;close()</text>
</g>
<!-- A3&#45;&gt;A2 -->
<g id="edge4" class="edge">
<title>A3&#45;&gt;A2</title>
<path fill="none" stroke="#000000" d="M130.0325,-548.4638C126.3726,-538.7653 122.694,-529.0169 119.1193,-519.544"/>
<polygon fill="#000000" stroke="#000000" points="130.068,-548.5583 135.9288,-552.7596 134.3048,-559.7855 128.444,-555.5841 130.068,-548.5583"/>
<polygon fill="#000000" stroke="#000000" points="115.5839,-510.1751 123.3248,-517.9424 117.3492,-514.8532 119.1145,-519.5312 119.1145,-519.5312 119.1145,-519.5312 117.3492,-514.8532 114.9043,-521.12 115.5839,-510.1751 115.5839,-510.1751"/>
<polygon fill="none" stroke="#000000" points="215.5,-926 215.5,-958 331.5,-958 331.5,-926 215.5,-926"/>
<text text-anchor="start" x="225.149" y="-939" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;AbstractIterMeta&gt;&gt;</text>
<polygon fill="none" stroke="#000000" points="215.5,-906 215.5,-926 331.5,-926 331.5,-906 215.5,-906"/>
<polygon fill="none" stroke="#000000" points="215.5,-874 215.5,-906 331.5,-906 331.5,-874 215.5,-874"/>
<text text-anchor="start" x="255.439" y="-887" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__iter__</text>
</g>
<!-- A4 -->
<g id="node5" class="node">
<title>A4</title>
<polygon fill="none" stroke="#000000" points="168.348,-460 168.348,-492 329.348,-492 329.348,-460 168.348,-460"/>
<text text-anchor="start" x="220.508" y="-473" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterBase</text>
<polygon fill="none" stroke="#000000" points="168.348,-440 168.348,-460 329.348,-460 329.348,-440 168.348,-440"/>
<polygon fill="none" stroke="#000000" points="168.348,-384 168.348,-440 329.348,-440 329.348,-384 168.348,-384"/>
<text text-anchor="start" x="178.274" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;disc(shutdown_started)</text>
<text text-anchor="start" x="178.5535" y="-409" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;async_create_remote()</text>
<text text-anchor="start" x="229.402" y="-397" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">healthy()</text>
<polygon fill="none" stroke="#000000" points="178.5,-726 178.5,-758 369.5,-758 369.5,-726 178.5,-726"/>
<text text-anchor="start" x="240.0965" y="-739" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;InverterIfc&gt;&gt;</text>
<polygon fill="none" stroke="#000000" points="178.5,-706 178.5,-726 369.5,-726 369.5,-706 178.5,-706"/>
<polygon fill="none" stroke="#000000" points="178.5,-650 178.5,-706 369.5,-706 369.5,-650 178.5,-650"/>
<text text-anchor="start" x="240.522" y="-687" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">healthy()&#45;&gt;bool</text>
<text text-anchor="start" x="188.2835" y="-675" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;disc(shutdown_started=False)</text>
<text text-anchor="start" x="219.544" y="-663" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;create_remote()</text>
</g>
<!-- A3&#45;&gt;A4 -->
<!-- A1&#45;&gt;A4 -->
<g id="edge1" class="edge">
<title>A3&#45;&gt;A4</title>
<path fill="none" stroke="#000000" d="M205.9667,-550.3105C213.5193,-530.2961 221.1855,-509.9807 227.8831,-492.2319"/>
<polygon fill="none" stroke="#000000" points="202.6472,-549.1938 202.3912,-559.7855 209.1964,-551.6652 202.6472,-549.1938"/>
<title>A1&#45;&gt;A4</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M273.5,-863.7744C273.5,-831.6663 273.5,-790.6041 273.5,-758.1476"/>
<polygon fill="none" stroke="#000000" points="270.0001,-863.8621 273.5,-873.8622 277.0001,-863.8622 270.0001,-863.8621"/>
</g>
<!-- A2 -->
<g id="node3" class="node">
<title>A2</title>
<polygon fill="none" stroke="#000000" points="441.5,-454 441.5,-498 563.5,-498 563.5,-454 441.5,-454"/>
<text text-anchor="start" x="492.777" y="-479" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Mqtt</text>
<text text-anchor="start" x="469.9815" y="-467" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;Singleton&gt;&gt;</text>
<polygon fill="none" stroke="#000000" points="441.5,-398 441.5,-454 563.5,-454 563.5,-398 441.5,-398"/>
<text text-anchor="start" x="459.9875" y="-435" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;ha_restarts</text>
<text text-anchor="start" x="467.7665" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;__client</text>
<text text-anchor="start" x="451.3735" y="-411" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;__cb_MqttIsUp</text>
<polygon fill="none" stroke="#000000" points="441.5,-354 441.5,-398 563.5,-398 563.5,-354 441.5,-354"/>
<text text-anchor="start" x="464.436" y="-379" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;publish()</text>
<text text-anchor="start" x="468.6045" y="-367" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;close()</text>
</g>
<!-- A3 -->
<g id="node4" class="node">
<title>A3</title>
<polygon fill="none" stroke="#000000" points="387.5,-792 387.5,-824 617.5,-824 617.5,-792 387.5,-792"/>
<text text-anchor="start" x="489.7215" y="-805" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Proxy</text>
<polygon fill="none" stroke="#000000" points="387.5,-676 387.5,-792 617.5,-792 617.5,-676 387.5,-676"/>
<text text-anchor="start" x="474.1545" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;cls&gt;db_stat</text>
<text text-anchor="start" x="467.491" y="-761" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;cls&gt;entity_prfx</text>
<text text-anchor="start" x="458.326" y="-749" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;cls&gt;discovery_prfx</text>
<text text-anchor="start" x="457.762" y="-737" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;cls&gt;proxy_node_id</text>
<text text-anchor="start" x="453.873" y="-725" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;cls&gt;proxy_unique_id</text>
<text text-anchor="start" x="469.716" y="-713" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;cls&gt;mqtt:Mqtt</text>
<text text-anchor="start" x="471.9355" y="-689" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__ha_restarts</text>
<polygon fill="none" stroke="#000000" points="387.5,-584 387.5,-676 617.5,-676 617.5,-584 387.5,-584"/>
<text text-anchor="start" x="478.6145" y="-657" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">class_init()</text>
<text text-anchor="start" x="473.334" y="-645" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">class_close()</text>
<text text-anchor="start" x="444.984" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;_cb_mqtt_is_up()</text>
<text text-anchor="start" x="397.197" y="-609" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;_register_proxy_stat_home_assistant()</text>
<text text-anchor="start" x="406.084" y="-597" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;_async_publ_mqtt_proxy_stat(key)</text>
</g>
<!-- A3&#45;&gt;A2 -->
<g id="edge9" class="edge">
<title>A3&#45;&gt;A2</title>
<path fill="none" stroke="#000000" d="M502.5,-571.373C502.5,-549.9571 502.5,-528.339 502.5,-508.5579"/>
<polygon fill="#000000" stroke="#000000" points="502.5001,-571.682 506.5,-577.6821 502.5,-583.682 498.5,-577.682 502.5001,-571.682"/>
<polygon fill="#000000" stroke="#000000" points="502.5,-498.392 507.0001,-508.3919 502.5,-503.392 502.5001,-508.392 502.5001,-508.392 502.5001,-508.392 502.5,-503.392 498.0001,-508.392 502.5,-498.392 502.5,-498.392"/>
</g>
<!-- A5 -->
<g id="node6" class="node">
<title>A5</title>
<polygon fill="none" stroke="#000000" points="187.348,-284 187.348,-316 309.348,-316 309.348,-284 187.348,-284"/>
<text text-anchor="start" x="224.7325" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterG3</text>
<polygon fill="none" stroke="#000000" points="187.348,-228 187.348,-284 309.348,-284 309.348,-228 187.348,-228"/>
<text text-anchor="start" x="238.345" y="-265" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">addr</text>
<text text-anchor="start" x="208.901" y="-253" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">remote:StreamPtr</text>
<text text-anchor="start" x="214.18" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">local:StreamPtr</text>
<polygon fill="none" stroke="#000000" points="187.348,-172 187.348,-228 309.348,-228 309.348,-172 187.348,-172"/>
<text text-anchor="start" x="196.9515" y="-209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">async_create_remote()</text>
<text text-anchor="start" x="233.3505" y="-185" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
<polygon fill="none" stroke="#000000" points="205.5,-502 205.5,-534 396.5,-534 396.5,-502 205.5,-502"/>
<text text-anchor="start" x="272.66" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterBase</text>
<polygon fill="none" stroke="#000000" points="205.5,-386 205.5,-502 396.5,-502 396.5,-386 205.5,-386"/>
<text text-anchor="start" x="281.8335" y="-483" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_registry</text>
<text text-anchor="start" x="270.4355" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__ha_restarts</text>
<text text-anchor="start" x="290.997" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">addr</text>
<text text-anchor="start" x="274.0505" y="-435" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">config_id:str</text>
<text text-anchor="start" x="247.3785" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">prot_class:MessageProt</text>
<text text-anchor="start" x="261.553" y="-411" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">remote:StreamPtr</text>
<text text-anchor="start" x="266.832" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">local:StreamPtr</text>
<polygon fill="none" stroke="#000000" points="205.5,-318 205.5,-386 396.5,-386 396.5,-318 205.5,-318"/>
<text text-anchor="start" x="267.522" y="-367" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">healthy()&#45;&gt;bool</text>
<text text-anchor="start" x="215.2835" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;disc(shutdown_started=False)</text>
<text text-anchor="start" x="246.544" y="-343" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;create_remote()</text>
<text text-anchor="start" x="240.984" y="-331" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;async_publ_mqtt()</text>
</g>
<!-- A3&#45;&gt;A5 -->
<g id="edge7" class="edge">
<title>A3&#45;&gt;A5</title>
<path fill="none" stroke="#000000" d="M409.1791,-575.5683C399.1409,-561.7533 389.0008,-547.7982 379.1588,-534.2532"/>
<polygon fill="none" stroke="#000000" points="406.3649,-577.6495 415.0747,-583.682 412.0279,-573.5347 406.3649,-577.6495"/>
</g>
<!-- A4&#45;&gt;A5 -->
<g id="edge2" class="edge">
<title>A4&#45;&gt;A5</title>
<path fill="none" stroke="#000000" d="M248.348,-373.9068C248.348,-355.4405 248.348,-335.1691 248.348,-316.2449"/>
<polygon fill="none" stroke="#000000" points="244.8481,-373.9601 248.348,-383.9602 251.8481,-373.9602 244.8481,-373.9601"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M279.7719,-639.4228C282.8086,-608.1559 286.5373,-569.7639 289.991,-534.2034"/>
<polygon fill="none" stroke="#000000" points="276.2531,-639.4473 278.77,-649.7389 283.2203,-640.1241 276.2531,-639.4473"/>
</g>
<!-- A6 -->
<g id="node7" class="node">
<title>A6</title>
<polygon fill="none" stroke="#000000" points="333.348,-284 333.348,-316 455.348,-316 455.348,-284 333.348,-284"/>
<text text-anchor="start" x="367.398" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterG3P</text>
<polygon fill="none" stroke="#000000" points="333.348,-228 333.348,-284 455.348,-284 455.348,-228 333.348,-228"/>
<text text-anchor="start" x="384.345" y="-265" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">addr</text>
<text text-anchor="start" x="354.901" y="-253" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">remote:StreamPtr</text>
<text text-anchor="start" x="360.18" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">local:StreamPtr</text>
<polygon fill="none" stroke="#000000" points="333.348,-172 333.348,-228 455.348,-228 455.348,-172 333.348,-172"/>
<text text-anchor="start" x="342.9515" y="-209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">async_create_remote()</text>
<text text-anchor="start" x="379.3505" y="-185" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
<polygon fill="none" stroke="#000000" points="356.5,-236 356.5,-268 468.5,-268 468.5,-236 356.5,-236"/>
<text text-anchor="start" x="389.9995" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">StreamPtr</text>
<polygon fill="none" stroke="#000000" points="356.5,-216 356.5,-236 468.5,-236 468.5,-216 356.5,-216"/>
<polygon fill="none" stroke="#000000" points="356.5,-172 356.5,-216 468.5,-216 468.5,-172 356.5,-172"/>
<text text-anchor="start" x="366.3825" y="-197" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">stream:MessageProt</text>
<text text-anchor="start" x="387.2185" y="-185" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ifc:AsyncIfc</text>
</g>
<!-- A4&#45;&gt;A6 -->
<g id="edge3" class="edge">
<title>A4&#45;&gt;A6</title>
<path fill="none" stroke="#000000" d="M295.0446,-375.9511C309.349,-356.9439 325.2087,-335.87 339.9781,-316.2449"/>
<polygon fill="none" stroke="#000000" points="292.2338,-373.8654 289.0171,-383.9602 297.8269,-378.0747 292.2338,-373.8654"/>
<!-- A5&#45;&gt;A6 -->
<g id="edge8" class="edge">
<title>A5&#45;&gt;A6</title>
<path fill="none" stroke="#000000" d="M359.288,-317.872C366.9377,-303.802 374.5179,-289.86 381.4556,-277.0995"/>
<polygon fill="#000000" stroke="#000000" points="386.3856,-268.0318 385.5625,-278.9667 383.9973,-272.4245 381.609,-276.8173 381.609,-276.8173 381.609,-276.8173 383.9973,-272.4245 377.6556,-274.6678 386.3856,-268.0318 386.3856,-268.0318"/>
<text text-anchor="middle" x="385.1534" y="-284.9938" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
</g>
<!-- A7 -->
<g id="node8" class="node">
<title>A7</title>
<polygon fill="none" stroke="#000000" points="362.9901,-36 273.7059,-36 273.7059,0 362.9901,0 362.9901,-36"/>
<text text-anchor="middle" x="318.348" y="-15" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;AsyncIfc&gt;&gt;</text>
<polygon fill="none" stroke="#000000" points="338.2314,-238 262.7686,-238 262.7686,-202 338.2314,-202 338.2314,-238"/>
<text text-anchor="middle" x="300.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterG3</text>
</g>
<!-- A5&#45;&gt;A7 -->
<g id="edge7" class="edge">
<g id="edge5" class="edge">
<title>A5&#45;&gt;A7</title>
<path fill="none" stroke="#000000" d="M240.5289,-171.6857C240.2064,-143.9437 243.216,-112.5864 254.348,-86 261.2443,-69.5295 274.0532,-54.6444 286.4105,-43.0292"/>
<polygon fill="#000000" stroke="#000000" points="293.9894,-36.2348 289.5473,-46.2607 290.2664,-39.5724 286.5434,-42.91 286.5434,-42.91 286.5434,-42.91 290.2664,-39.5724 283.5396,-39.5594 293.9894,-36.2348 293.9894,-36.2348"/>
<text text-anchor="middle" x="286.135" y="-51.6279" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1..2</text>
</g>
<!-- A8 -->
<g id="node9" class="node">
<title>A8</title>
<polygon fill="none" stroke="#000000" points="373.6053,-122 263.0907,-122 263.0907,-86 373.6053,-86 373.6053,-122"/>
<text text-anchor="middle" x="318.348" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;MessageProt&gt;&gt;</text>
</g>
<!-- A5&#45;&gt;A8 -->
<g id="edge6" class="edge">
<title>A5&#45;&gt;A8</title>
<path fill="none" stroke="#000000" d="M284.3733,-171.9495C291.5966,-157.5029 298.7616,-143.1729 304.6363,-131.4235"/>
<polygon fill="#000000" stroke="#000000" points="309.2405,-122.215 308.7932,-133.1718 307.0044,-126.6872 304.7683,-131.1593 304.7683,-131.1593 304.7683,-131.1593 307.0044,-126.6872 300.7434,-129.1468 309.2405,-122.215 309.2405,-122.215"/>
<text text-anchor="middle" x="308.6942" y="-139.2076" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1..2</text>
</g>
<!-- A6&#45;&gt;A7 -->
<g id="edge9" class="edge">
<title>A6&#45;&gt;A7</title>
<path fill="none" stroke="#000000" d="M398.9275,-171.9166C398.1587,-144.0552 394.0617,-112.5537 382.348,-86 375.087,-69.5402 362.0955,-54.573 349.7057,-42.8973"/>
<polygon fill="#000000" stroke="#000000" points="342.1257,-36.0689 352.5675,-39.4186 345.8407,-39.4154 349.5556,-42.762 349.5556,-42.762 349.5556,-42.762 345.8407,-39.4154 346.5437,-46.1054 342.1257,-36.0689 342.1257,-36.0689"/>
<text text-anchor="middle" x="361.2504" y="-38.921" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1..2</text>
</g>
<!-- A6&#45;&gt;A8 -->
<g id="edge8" class="edge">
<title>A6&#45;&gt;A8</title>
<path fill="none" stroke="#000000" d="M355.2349,-171.9495C347.314,-157.3584 339.4577,-142.8863 333.0441,-131.0718"/>
<polygon fill="#000000" stroke="#000000" points="328.2362,-122.215 336.962,-128.8567 330.6217,-126.6093 333.0071,-131.0036 333.0071,-131.0036 333.0071,-131.0036 330.6217,-126.6093 329.0523,-133.1505 328.2362,-122.215 328.2362,-122.215"/>
<text text-anchor="middle" x="344.3124" y="-131.1127" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1..2</text>
</g>
<!-- A8&#45;&gt;A7 -->
<g id="edge10" class="edge">
<title>A8&#45;&gt;A7</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M318.348,-85.7616C318.348,-74.3597 318.348,-59.4342 318.348,-46.494"/>
<polygon fill="#000000" stroke="#000000" points="318.348,-36.2121 322.8481,-46.2121 318.348,-41.2121 318.3481,-46.2121 318.3481,-46.2121 318.3481,-46.2121 318.348,-41.2121 313.8481,-46.2121 318.348,-36.2121 318.348,-36.2121"/>
<text text-anchor="middle" x="309.8956" y="-64.6355" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">use</text>
<path fill="none" stroke="#000000" d="M300.5,-307.7729C300.5,-280.5002 300.5,-254.684 300.5,-238.2013"/>
<polygon fill="none" stroke="#000000" points="297.0001,-307.872 300.5,-317.872 304.0001,-307.872 297.0001,-307.872"/>
</g>
<!-- A9 -->
<g id="node10" class="node">
<title>A9</title>
<polygon fill="none" stroke="#000000" points="347.348,-466 347.348,-498 454.348,-498 454.348,-466 347.348,-466"/>
<text text-anchor="start" x="371.1175" y="-479" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ModbusConn</text>
<polygon fill="none" stroke="#000000" points="347.348,-398 347.348,-466 454.348,-466 454.348,-398 347.348,-398"/>
<text text-anchor="start" x="391.3995" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">host</text>
<text text-anchor="start" x="392.235" y="-435" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">port</text>
<text text-anchor="start" x="390.845" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">addr</text>
<text text-anchor="start" x="357.231" y="-411" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">stream:InverterG3P</text>
<polygon fill="none" stroke="#000000" points="347.348,-378 347.348,-398 454.348,-398 454.348,-378 347.348,-378"/>
<polygon fill="none" stroke="#000000" points="94.4001,-238 12.5999,-238 12.5999,-202 94.4001,-202 94.4001,-238"/>
<text text-anchor="middle" x="53.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterG3P</text>
</g>
<!-- A9&#45;&gt;A6 -->
<!-- A5&#45;&gt;A9 -->
<g id="edge6" class="edge">
<title>A5&#45;&gt;A9</title>
<path fill="none" stroke="#000000" d="M196.7667,-346.4637C165.8973,-321.9347 132.3582,-294.4156 102.5,-268 91.7971,-258.5312 80.3616,-247.3925 71.232,-238.23"/>
<polygon fill="none" stroke="#000000" points="194.962,-349.4991 204.9739,-352.965 199.3086,-344.0121 194.962,-349.4991"/>
</g>
<!-- A11 -->
<g id="node12" class="node">
<title>A11</title>
<polygon fill="none" stroke="#000000" points="456.1421,-36 366.8579,-36 366.8579,0 456.1421,0 456.1421,-36"/>
<text text-anchor="middle" x="411.5" y="-15" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;AsyncIfc&gt;&gt;</text>
</g>
<!-- A6&#45;&gt;A11 -->
<g id="edge11" class="edge">
<title>A9&#45;&gt;A6</title>
<path fill="none" stroke="#000000" d="M398.4907,-377.9458C397.9843,-361.5736 397.4269,-343.5504 396.8896,-326.177"/>
<polygon fill="#000000" stroke="#000000" points="396.576,-316.0403 401.3831,-325.8963 396.7307,-321.0379 396.8853,-326.0355 396.8853,-326.0355 396.8853,-326.0355 396.7307,-321.0379 392.3874,-326.1746 396.576,-316.0403 396.576,-316.0403"/>
<text text-anchor="middle" x="405.5847" y="-330.8965" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
<text text-anchor="middle" x="389.482" y="-357.0896" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">has</text>
<title>A6&#45;&gt;A11</title>
<path fill="none" stroke="#000000" d="M396.5836,-171.9861C390.0675,-146.4721 384.9947,-114.5619 389.5,-86 391.6448,-72.403 396.0621,-57.8206 400.3796,-45.6603"/>
<polygon fill="#000000" stroke="#000000" points="403.9307,-36.0902 404.6707,-47.0311 402.1913,-40.7779 400.4518,-45.4656 400.4518,-45.4656 400.4518,-45.4656 402.1913,-40.7779 396.2329,-43.9001 403.9307,-36.0902 403.9307,-36.0902"/>
<text text-anchor="middle" x="405.5493" y="-53.0246" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
</g>
<!-- A12 -->
<g id="node13" class="node">
<title>A12</title>
<polygon fill="none" stroke="#000000" points="508.7573,-122 398.2427,-122 398.2427,-86 508.7573,-86 508.7573,-122"/>
<text text-anchor="middle" x="453.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;MessageProt&gt;&gt;</text>
</g>
<!-- A6&#45;&gt;A12 -->
<g id="edge10" class="edge">
<title>A6&#45;&gt;A12</title>
<path fill="none" stroke="#000000" d="M429.5315,-171.8133C434.3787,-158.0994 439.4923,-143.6315 443.7456,-131.5978"/>
<polygon fill="#000000" stroke="#000000" points="447.0913,-122.132 448.0016,-133.06 445.425,-126.8462 443.7588,-131.5604 443.7588,-131.5604 443.7588,-131.5604 445.425,-126.8462 439.516,-130.0607 447.0913,-122.132 447.0913,-122.132"/>
<text text-anchor="middle" x="449.0201" y="-139.0387" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
</g>
<!-- A8 -->
<g id="node9" class="node">
<title>A8</title>
<polygon fill="#fff8dc" stroke="#000000" points="586.906,-248 486.094,-248 486.094,-192 592.906,-192 592.906,-242 586.906,-248"/>
<polyline fill="none" stroke="#000000" points="586.906,-248 586.906,-242 "/>
<polyline fill="none" stroke="#000000" points="592.906,-242 586.906,-242 "/>
<text text-anchor="middle" x="539.5" y="-235" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Creates an GEN3</text>
<text text-anchor="middle" x="539.5" y="-223" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">inverter instance</text>
<text text-anchor="middle" x="539.5" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">with</text>
<text text-anchor="middle" x="539.5" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">prot_class:Talent</text>
</g>
<!-- A7&#45;&gt;A8 -->
<g id="edge3" class="edge">
<title>A7&#45;&gt;A8</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M308.5491,-238.3283C317.4345,-256.0056 333.5793,-281.6949 356.5,-293 401.1429,-315.019 422.6447,-312.368 468.5,-293 490.1607,-283.8511 508.4784,-264.5049 521.0802,-248.0264"/>
</g>
<!-- A10 -->
<g id="node11" class="node">
<title>A10</title>
<polygon fill="#fff8dc" stroke="#000000" points="239.022,-248 111.978,-248 111.978,-192 245.022,-192 245.022,-242 239.022,-248"/>
<polyline fill="none" stroke="#000000" points="239.022,-248 239.022,-242 "/>
<polyline fill="none" stroke="#000000" points="245.022,-242 239.022,-242 "/>
<text text-anchor="middle" x="178.5" y="-235" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Creates an GEN3PLUS</text>
<text text-anchor="middle" x="178.5" y="-223" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">inverter instance</text>
<text text-anchor="middle" x="178.5" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">with</text>
<text text-anchor="middle" x="178.5" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">prot_class:SolarmanV5</text>
</g>
<!-- A9&#45;&gt;A10 -->
<g id="edge4" class="edge">
<title>A9&#45;&gt;A10</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M94.5156,-220C100.3114,-220 106.1072,-220 111.903,-220"/>
</g>
<!-- A12&#45;&gt;A11 -->
<g id="edge12" class="edge">
<title>A12&#45;&gt;A11</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M444.5929,-85.7616C438.8574,-74.0176 431.2964,-58.5355 424.8496,-45.3349"/>
<polygon fill="#000000" stroke="#000000" points="420.3943,-36.2121 428.8262,-43.223 422.5885,-40.7049 424.7827,-45.1978 424.7827,-45.1978 424.7827,-45.1978 422.5885,-40.7049 420.7391,-47.1726 420.3943,-36.2121 420.3943,-36.2121"/>
<text text-anchor="middle" x="429.0435" y="-70.1832" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">use</text>
</g>
<!-- A13 -->
<g id="node14" class="node">
<title>A13</title>
<polygon fill="none" stroke="#000000" points=".5,-454 .5,-486 107.5,-486 107.5,-454 .5,-454"/>
<text text-anchor="start" x="24.2695" y="-467" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ModbusConn</text>
<polygon fill="none" stroke="#000000" points=".5,-386 .5,-454 107.5,-454 107.5,-386 .5,-386"/>
<text text-anchor="start" x="44.5515" y="-435" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">host</text>
<text text-anchor="start" x="45.387" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">port</text>
<text text-anchor="start" x="43.997" y="-411" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">addr</text>
<text text-anchor="start" x="10.383" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">stream:InverterG3P</text>
<polygon fill="none" stroke="#000000" points=".5,-366 .5,-386 107.5,-386 107.5,-366 .5,-366"/>
</g>
<!-- A13&#45;&gt;A9 -->
<g id="edge13" class="edge">
<title>A13&#45;&gt;A9</title>
<path fill="none" stroke="#000000" d="M53.5,-365.8625C53.5,-327.1513 53.5,-278.6088 53.5,-248.4442"/>
<polygon fill="#000000" stroke="#000000" points="53.5,-238.2147 58.0001,-248.2147 53.5,-243.2147 53.5001,-248.2147 53.5001,-248.2147 53.5001,-248.2147 53.5,-243.2147 49.0001,-248.2148 53.5,-238.2147 53.5,-238.2147"/>
<text text-anchor="middle" x="61.9524" y="-253.3409" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
<text text-anchor="middle" x="45.0476" y="-344.7363" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">has</text>
</g>
<!-- A14 -->
<g id="node15" class="node">
<title>A14</title>
<polygon fill="none" stroke="#000000" points="93.7333,-722 13.2667,-722 13.2667,-686 93.7333,-686 93.7333,-722"/>
<text text-anchor="middle" x="53.5" y="-701" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ModbusTcp</text>
</g>
<!-- A14&#45;&gt;A13 -->
<g id="edge14" class="edge">
<title>A14&#45;&gt;A13</title>
<path fill="none" stroke="#000000" d="M53.5,-685.7596C53.5,-647.9991 53.5,-559.5189 53.5,-496.3277"/>
<polygon fill="#000000" stroke="#000000" points="53.5,-486.0223 58.0001,-496.0223 53.5,-491.0223 53.5001,-496.0223 53.5001,-496.0223 53.5001,-496.0223 53.5,-491.0223 49.0001,-496.0224 53.5,-486.0223 53.5,-486.0223"/>
<text text-anchor="middle" x="61.9524" y="-501.1485" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">*</text>
<text text-anchor="middle" x="45.0476" y="-664.6335" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">creates</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 20 KiB