```mermaid
graph 
A(<b>Wifi start</b>)
A-->AA
AA[start wifi service]
B[Start provision]
AA-->|<b>not provisioned</b>
SETTINGS.wifi.num == 0|B
C{{single
or
multiple}}
AA-->|<b>provisioned</b>
SETTINGS.wifi.num > 0|C
D[try 3 times:
connect]
C-->|<b>single</b>
SETTINGS.wifi.num == 1|D
E[try 3 times:
connect to known SSID
with highest rssi]
C-->|<b>multiple</b>
SETTINGS.wifi.num > 1|E
F[try 3 times:
connect round robin]
E-->|failed|F
```

