| Algorithm 2 Functions developed in Flutter, to be run on the phone |
| 1: FUNCTION connectToWebSocket 2: SET channel TO IOWebSocketChannel.connect(Uri.parse(‘ws://$ipAddress:8000/ws’)) 3: SET channel.stream LISTEN processMessage 4: END FUNCTION 5: 6: FUNCTION processMessage(message AS STRING) 7: DECLARE decodedMessage AS OBJECT 8: SET decodedMessage TO jsonDecode(message) 9: DECLARE command AS STRING 10: SET command TO decodedMessage[‘command’] 11: 12: IF command EQUALS ‘door action corresponding word’ THEN 13: INCREMENT pushCount BY 1 14: SET displayMessage TO IF pushCount MOD 2 EQUALS 1 THEN ‘Door Opened’ ELSE ‘Door Closed’ 15: SET backgroundColor TO IF pushCount MOD 2 EQUALS 1 THEN Colors.green ELSE Colors.red 16: ELSE IF command EQUALS ‘light action corresponding word’ THEN 17: INCREMENT pullCount BY 1 18: SET displayMessage TO IF pullCount MOD 2 EQUALS 1 THEN ‘Light On’ ELSE ‘Light Off’ 19: SET backgroundColor TO IF pullCount MOD 2 EQUALS 1 THEN Colors.yellow ELSE Colors.blueGrey 20: END IF 21: CALL setState 22: END FUNCTION |