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