@startuml Wifi_Info(id=wifi_info) participant OS as OS participant Script as Script participant SW as SW participant UI as UI actor USER as US 'Possible actions and interaction types ' External on CANBus ' TD -> SW: MSG: Message ' SW -> TD: MSG: Message ' Internal to the application ' XX -> YY: CMD: Command ' XX -> XX: ACT: Action ' External on OS/FS ' SW -> Script: ACT: Command ' Script -> OS: CMD: Command ' Script -> SW: MSG: Message ' OS -> Script: MSG: Message ' US -> UI: User actions are: ' ASK: Display a ' ENT: User enters a value or string ' TCH: User touches a button (RadioButton, CheckBox, ...) ' SCL: User scrolls a flip-able area == Wi-Fi Information == group Wi-Fi Information SW -> SW: ACT: Request connected Wi-Fi information SW -> Script: ACT: wifi_info.sh ( ) activate Script Script -> OS: CMD: \ \n\t SSID : sudo nmcli -t -f NAME connection show --active \ \n\t IPMASK : sudo nmcli -t -g IP4.ADDRESS device show wlan0 \ \n\t ADDR : echo $IPMASK | sed 's/\/.*//g' \ \n\t MASK : sudo ipcalc -m "$(echo $IPMASK)" | sed "s/NETMASK=//g") \ \n\t GATEWAY: sudo nmcli -t -g IP4.GATEWAY device show wlan0)" \ \n\t DNS : sudo nmcli -t -g IP4.DNS device show wlan0 | sed "s/ //g" | sed 's/|/,/g' OS -> Script: MSG: Connection Information Script -> SW: MSG: \ \n - echo < \ \n\t SSID \ \n\t ADDR \ \n\t MASK \ \n\t GATEWAY \ \n\t DNS \ \n > \ \n - exit # deactivate Script alt successful ( exit == 0 ) SW -> UI: CMD: Update Items else failed SW -> UI: ACT: Empty Items UI -> US: ACT: Notify user end end @enduml