================== js Client to python Client Communication: should connect without errors 5579ms [log] starting device 6156ms [err] Unclosed client session 6156ms [err] client_session: 6259ms [log] parsing 6259ms [log] creating device handler 6259ms [log] [ready] 6259ms [log] reading line 6259ms [log] [websocketToken] "dc83f396-c2ff-478b-876f-a2735fd53151" 6275ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 6275ms [log] [websocketConnected] ================== js Client to python Client Communication: should start an experiment 7896ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 7896ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 7924ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"}}', extra='') 7924ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} 7994ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998","services":[{"interfaces":[],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 7994ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998", "state": "new"}] 7996ms [log] makeOffer 7996ms [log] connectionstatechanged new new have-local-offer 7996ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998", "state": "new"}] 8036ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 8036ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 8045ms [log] WSMessage(type=, data='{"signalingType":"answer","content":{"type":"answer","sdp":"v=0\\r\\no=- 6342133317695334651 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic: WMS\\r\\nm=application 9 DTLS/SCTP 5000\\r\\nc=IN IP4 0.0.0.0\\r\\na=candidate:1216597900 1 udp 2113937151 fb8a67a4-ec0a-4c9a-8da3-d202275b67a6.local 42292 typ host generation 0 network-cost 999\\r\\na=ice-ufrag:Gfvi\\r\\na=ice-pwd:ACCCLivd4KnhxitTEZ1WPime\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 15:79:E9:5C:9C:A6:02:01:CC:78:D4:C7:6E:6E:49:08:2F:67:98:25:CD:12:D8:5E:7A:0A:80:82:E8:7F:2B:76\\r\\na=setup:active\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 1024\\r\\n"},"messageType":"signaling","connectionUrl":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"}', extra='') 8045ms [log] handleSignalingMessage 8045ms [log] handleAnswer 8045ms [log] acceptAnswer 8045ms [log] connectionstatechanged connecting checking stable 8045ms [log] connectionstatechanged connecting checking stable 8045ms [log] connectionstatechanged connecting checking stable 8045ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998", "state": "connecting"}] 8069ms [log] connectionstatechanged connecting completed stable 8069ms [log] connectionstatechanged connected completed stable 8069ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998", "state": "connected"}] 8137ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 8137ms [log] [experimentStatusChanged] {"status": "running", "message": null} 8260ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"}', extra='') 8260ms [log] connectionstatechanged closed closed closed 8260ms [log] connectionstatechanged closed closed closed 8260ms [log] connectionstatechanged closed closed closed 8260ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998", "state": "closed"}] 8366ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 8366ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== python Client to js Client Communication: should connect without errors 8421ms [err] Traceback (most recent call last): 8421ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 8422ms [err] return _run_code(code, main_globals, None, 8422ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 8422ms [err] exec(code, run_globals) 8422ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 8422ms [err] sys.exit(main()) 8422ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 8422ms [err] asyncio.run(main_async()) 8422ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 8422ms [err] return loop.run_until_complete(main) 8422ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 8422ms [err] self.run_forever() 8422ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 8422ms [err] self._run_once() 8422ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 8422ms [err] event_list = self._selector.select(timeout) 8422ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 8423ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 8423ms [err] KeyboardInterrupt ================== python Client to js Client Communication: should start an experiment ================== python Client to python Client Communication: should connect without errors 11424ms [log] starting device 11875ms [err] Unclosed client session 11875ms [err] client_session: 11950ms [log] parsing 11950ms [log] creating device handler 11950ms [log] [ready] 11950ms [log] reading line 11950ms [log] [websocketToken] "5f1bd537-0954-4797-be60-12b9d8add7ef" 11970ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 11970ms [log] [websocketConnected] ================== python Client to python Client Communication: should start an experiment 12256ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 12256ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 12271ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"}}', extra='') 12271ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"} 12361ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5","services":[{"interfaces":[],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 12361ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5", "state": "new"}] 12364ms [log] makeOffer 12364ms [log] connectionstatechanged new new have-local-offer 12364ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5", "state": "new"}] 12398ms [log] WSMessage(type=, data='{"connectionUrl":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5","content":{"type":"answer","sdp":"v=0\\r\\no=- 3921829059 3921829059 IN IP4 0.0.0.0\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic:WMS *\\r\\nm=application 43488 DTLS/SCTP 5000\\r\\nc=IN IP4 172.30.0.1\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 65535\\r\\na=max-message-size:65536\\r\\na=candidate:0961bcac0b59e37a584a6649389cc518 1 udp 2130706431 172.30.0.1 43488 typ host\\r\\na=candidate:1babb1fcee9cdf726f1cf5c362bdaa00 1 udp 2130706431 172.17.0.3 49563 typ host\\r\\na=end-of-candidates\\r\\na=ice-ufrag:xHMs\\r\\na=ice-pwd:pXuGv12QaanRGs6D7wG7n1\\r\\na=fingerprint:sha-256 AD:F1:95:D9:7A:F8:C4:46:44:2D:9F:5B:1C:11:22:8F:AE:CB:97:FD:F0:72:4D:E3:0D:C6:5C:29:34:60:4D:08\\r\\na=setup:active\\r\\n"},"signalingType":"answer","messageType":"signaling"}', extra='') 12398ms [log] handleSignalingMessage 12398ms [log] handleAnswer 12398ms [log] acceptAnswer 12398ms [log] connectionstatechanged connecting checking stable 12398ms [log] connectionstatechanged connecting checking stable 12398ms [log] connectionstatechanged connecting checking stable 12398ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5", "state": "connecting"}] 12405ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 12405ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 12423ms [log] connectionstatechanged connecting completed stable 12423ms [log] connectionstatechanged connected completed stable 12423ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5", "state": "connected"}] 12493ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 12493ms [log] [experimentStatusChanged] {"status": "running", "message": null} 12590ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"}', extra='') 12590ms [log] connectionstatechanged closed closed closed 12590ms [log] connectionstatechanged closed closed closed 12590ms [log] connectionstatechanged closed closed closed 12590ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5", "state": "closed"}] 12693ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 12693ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} 12750ms [err] Traceback (most recent call last): 12750ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 12750ms [err] return _run_code(code, main_globals, None, 12750ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 12750ms [err] exec(code, run_globals) 12750ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 12750ms [err] sys.exit(main()) 12750ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 12750ms [err] asyncio.run(main_async()) 12750ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 12750ms [err] return loop.run_until_complete(main) 12750ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 12751ms [err] self.run_forever() 12751ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 12751ms [err] self._run_once() 12751ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 12752ms [err] event_list = self._selector.select(timeout) 12752ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 12752ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 12752ms [err] KeyboardInterrupt ================== Cyclic Device Groups: should resolve cyclic device groups correctly (flat_group: false) ================== Client Communication (group <-> device): should connect without errors ================== Client Communication (group <-> device): should start an experiment ================== Experiment Status Changed Messages: should connect without errors ================== Experiment Status Changed Messages: should start an experiment ================== Experiment Status Changed Messages: should stop an experiment ================== js Client to js Client GPIO tests : should transmit initial gpio value ================== js Client to js Client GPIO tests : should transmit gpio value ================== js Client to python Client GPIO tests : should transmit initial gpio value 27406ms [log] starting device 27867ms [err] Unclosed client session 27867ms [err] client_session: 27958ms [log] parsing 27958ms [log] creating device handler 27958ms [log] [ready] 27958ms [log] reading line 27958ms [log] [websocketToken] "6bdc03e9-c0fa-41b4-a62b-57171147fa03" 27973ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 27973ms [log] [websocketConnected] 29735ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 29735ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 29757ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"}}', extra='') 29757ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} 29827ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","driver":"device2","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","driver":"device2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 29827ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965", "state": "new"}] 29829ms [log] makeOffer 29829ms [log] connectionstatechanged new new have-local-offer 29829ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965", "state": "new"}] 29871ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 29871ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 29874ms [log] WSMessage(type=, data='{"signalingType":"answer","content":{"type":"answer","sdp":"v=0\\r\\no=- 8496100816676975664 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic: WMS\\r\\nm=application 9 DTLS/SCTP 5000\\r\\nc=IN IP4 0.0.0.0\\r\\na=candidate:3587329636 1 udp 2113937151 7dc665f2-a20d-48f5-8e13-e11f094684fe.local 35349 typ host generation 0 network-cost 999\\r\\na=ice-ufrag:fT3h\\r\\na=ice-pwd:207ZuUxcbTD6E6J0Auxdn1Gx\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 52:73:45:7C:03:F9:4E:19:59:F9:44:04:36:BB:09:48:99:18:E0:65:03:01:3E:7A:A3:6D:B0:0D:7D:94:C2:7D\\r\\na=setup:active\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 1024\\r\\n"},"messageType":"signaling","connectionUrl":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"}', extra='') 29874ms [log] handleSignalingMessage 29874ms [log] handleAnswer 29874ms [log] acceptAnswer 29874ms [log] connectionstatechanged connecting checking stable 29874ms [log] connectionstatechanged connecting checking stable 29874ms [log] connectionstatechanged connecting checking stable 29874ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965", "state": "connecting"}] 29899ms [log] connectionstatechanged connecting completed stable 29899ms [log] connectionstatechanged connected completed stable 29899ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965", "state": "connected"}] 29904ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 29905ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 29968ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 29968ms [log] [experimentStatusChanged] {"status": "running", "message": null} 30059ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"}', extra='') 30059ms [log] connectionstatechanged closed closed closed 30059ms [log] connectionstatechanged closed closed closed 30059ms [log] connectionstatechanged closed closed closed 30059ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965", "state": "closed"}] 30146ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 30146ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== js Client to python Client GPIO tests : should transmit gpio value 30201ms [err] Traceback (most recent call last): 30201ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 30201ms [err] return _run_code(code, main_globals, None, 30201ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 30201ms [err] exec(code, run_globals) 30201ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 30201ms [err] sys.exit(main()) 30201ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 30201ms [err] asyncio.run(main_async()) 30201ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 30201ms [err] return loop.run_until_complete(main) 30201ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 30202ms [err] self.run_forever() 30202ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 30202ms [err] self._run_once() 30202ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 30202ms [err] event_list = self._selector.select(timeout) 30202ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 30202ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 30202ms [err] KeyboardInterrupt 30316ms [log] starting device 30775ms [err] Unclosed client session 30775ms [err] client_session: 30855ms [log] parsing 30855ms [log] creating device handler 30855ms [log] [ready] 30855ms [log] reading line 30855ms [log] [websocketToken] "5e3ef99c-fe94-47ed-bdb3-2fa03c55c82a" 30869ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 30869ms [log] [websocketConnected] 32611ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 32611ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 32620ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"}}', extra='') 32620ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"} 32681ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","driver":"device2","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","driver":"device2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 32681ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25", "state": "new"}] 32683ms [log] makeOffer 32683ms [log] connectionstatechanged new new have-local-offer 32683ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25", "state": "new"}] 32723ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 32723ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 32742ms [log] WSMessage(type=, data='{"signalingType":"answer","content":{"type":"answer","sdp":"v=0\\r\\no=- 831477871683169917 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic: WMS\\r\\nm=application 9 DTLS/SCTP 5000\\r\\nc=IN IP4 0.0.0.0\\r\\na=candidate:3758167431 1 udp 2113937151 62253549-cb0a-49e3-9733-4cfb515309b8.local 49094 typ host generation 0 network-cost 999\\r\\na=ice-ufrag:pESs\\r\\na=ice-pwd:giVFyVOYZiAmpeyfLJpwSmrs\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 FE:88:A9:05:D8:BE:95:70:6B:5F:90:CF:29:A0:E7:58:7D:89:9B:E2:29:D6:51:EE:51:04:75:AA:CC:0D:3F:34\\r\\na=setup:active\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 1024\\r\\n"},"messageType":"signaling","connectionUrl":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"}', extra='') 32742ms [log] handleSignalingMessage 32742ms [log] handleAnswer 32742ms [log] acceptAnswer 32742ms [log] connectionstatechanged connecting checking stable 32742ms [log] connectionstatechanged connecting checking stable 32742ms [log] connectionstatechanged connecting checking stable 32742ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25", "state": "connecting"}] 32766ms [log] connectionstatechanged connecting completed stable 32766ms [log] connectionstatechanged connected completed stable 32766ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25", "state": "connected"}] 32771ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 32771ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 32838ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 32838ms [log] [experimentStatusChanged] {"status": "running", "message": null} 32931ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"}', extra='') 32931ms [log] connectionstatechanged closed closed closed 32931ms [log] connectionstatechanged closed closed closed 32931ms [log] connectionstatechanged closed closed closed 32931ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25", "state": "closed"}] 33024ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 33024ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== python Client to js Client GPIO tests : should transmit initial gpio value 33078ms [err] Traceback (most recent call last): 33078ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 33078ms [err] return _run_code(code, main_globals, None, 33078ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 33078ms [err] exec(code, run_globals) 33078ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 33078ms [err] sys.exit(main()) 33078ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 33078ms [err] asyncio.run(main_async()) 33078ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 33078ms [err] return loop.run_until_complete(main) 33078ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 33078ms [err] self.run_forever() 33078ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 33078ms [err] self._run_once() 33078ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 33078ms [err] event_list = self._selector.select(timeout) 33078ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 33078ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 33078ms [err] KeyboardInterrupt ================== python Client to js Client GPIO tests : should transmit gpio value ================== python Client to python Client GPIO tests : should transmit initial gpio value 40063ms [log] starting device 40510ms [err] Unclosed client session 40510ms [err] client_session: 40602ms [log] parsing 40602ms [log] creating device handler 40602ms [log] [ready] 40602ms [log] reading line 40602ms [log] [websocketToken] "54326de0-7acb-472e-aedd-13c23e626018" 40622ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 40622ms [log] [websocketConnected] 40833ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 40833ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 40858ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"}}', extra='') 40858ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"} 40947ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","driver":"device2","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","driver":"device2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":false}', extra='') 40947ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe", "state": "new"}] 40957ms [log] WSMessage(type=, data='{"connectionUrl":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe","content":{"type":"offer","sdp":"v=0\\r\\no=- 3921829088 3921829088 IN IP4 0.0.0.0\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic:WMS *\\r\\nm=application 55987 DTLS/SCTP 5000\\r\\nc=IN IP4 172.30.0.1\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 65535\\r\\na=max-message-size:65536\\r\\na=candidate:0961bcac0b59e37a584a6649389cc518 1 udp 2130706431 172.30.0.1 55987 typ host\\r\\na=candidate:1babb1fcee9cdf726f1cf5c362bdaa00 1 udp 2130706431 172.17.0.3 43619 typ host\\r\\na=end-of-candidates\\r\\na=ice-ufrag:cRLC\\r\\na=ice-pwd:rDXO3tsAE4aqTBe6KCuu2O\\r\\na=fingerprint:sha-256 4D:06:25:60:34:30:49:B5:81:71:B7:7A:2D:60:09:61:E1:CB:05:0F:7A:68:D5:8D:F4:0C:C4:2B:84:F5:7C:06\\r\\na=setup:actpass\\r\\n"},"signalingType":"offer","messageType":"signaling"}', extra='') 40957ms [log] handleSignalingMessage 40957ms [log] handleOffer 40957ms [log] makeAnswer 40957ms [log] connectionstatechanged new new have-remote-offer 40957ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe", "state": "new"}] 40961ms [log] connectionstatechanged new new stable 40961ms [log] connectionstatechanged new new stable 40961ms [log] connectionstatechanged connecting checking stable 40961ms [log] connectionstatechanged connecting checking stable 40961ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe", "state": "connecting"}] 40985ms [log] connectionstatechanged connecting completed stable 40985ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 40985ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 40998ms [log] connectionstatechanged connected completed stable 40998ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe", "state": "connected"}] 40999ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 41000ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 41054ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 41054ms [log] [experimentStatusChanged] {"status": "running", "message": null} 41166ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"}', extra='') 41166ms [log] connectionstatechanged closed closed closed 41166ms [log] connectionstatechanged closed closed closed 41166ms [log] connectionstatechanged closed closed closed 41166ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe", "state": "closed"}] 41270ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 41270ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== python Client to python Client GPIO tests : should transmit gpio value 41338ms [err] Traceback (most recent call last): 41338ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 41339ms [err] return _run_code(code, main_globals, None, 41339ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 41339ms [err] exec(code, run_globals) 41339ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 41339ms [err] sys.exit(main()) 41339ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 41339ms [err] asyncio.run(main_async()) 41339ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 41339ms [err] return loop.run_until_complete(main) 41339ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 41339ms [err] self.run_forever() 41339ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 41339ms [err] self._run_once() 41339ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 41340ms [err] event_list = self._selector.select(timeout) 41340ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 41340ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 41340ms [err] KeyboardInterrupt 41454ms [log] starting device 41903ms [err] Unclosed client session 41903ms [err] client_session: 41983ms [log] parsing 41983ms [log] creating device handler 41983ms [log] [ready] 41983ms [log] reading line 41983ms [log] [websocketToken] "ac785d02-fd06-490f-92fb-d68d923e82e3" 41996ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 41996ms [log] [websocketConnected] 42230ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 42230ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 42255ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"}}', extra='') 42255ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"} 42334ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","driver":"device2","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","driver":"device2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 42334ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f", "state": "new"}] 42337ms [log] makeOffer 42337ms [log] connectionstatechanged new new have-local-offer 42337ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f", "state": "new"}] 42374ms [log] WSMessage(type=, data='{"connectionUrl":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f","content":{"type":"answer","sdp":"v=0\\r\\no=- 3921829089 3921829089 IN IP4 0.0.0.0\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic:WMS *\\r\\nm=application 43585 DTLS/SCTP 5000\\r\\nc=IN IP4 172.30.0.1\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 65535\\r\\na=max-message-size:65536\\r\\na=candidate:0961bcac0b59e37a584a6649389cc518 1 udp 2130706431 172.30.0.1 43585 typ host\\r\\na=candidate:1babb1fcee9cdf726f1cf5c362bdaa00 1 udp 2130706431 172.17.0.3 43134 typ host\\r\\na=end-of-candidates\\r\\na=ice-ufrag:sIIz\\r\\na=ice-pwd:4BRgFs0VwdZl167Af2wwhd\\r\\na=fingerprint:sha-256 5C:B9:12:01:E8:8F:9B:F5:D2:38:89:7C:36:19:C9:47:F8:28:8A:CA:4F:24:A9:56:79:F7:DE:70:14:82:6E:74\\r\\na=setup:active\\r\\n"},"signalingType":"answer","messageType":"signaling"}', extra='') 42374ms [log] handleSignalingMessage 42374ms [log] handleAnswer 42374ms [log] acceptAnswer 42374ms [log] connectionstatechanged connecting checking stable 42374ms [log] connectionstatechanged connecting checking stable 42374ms [log] connectionstatechanged connecting checking stable 42374ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f", "state": "connecting"}] 42382ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 42382ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 42397ms [log] connectionstatechanged connecting completed stable 42397ms [log] connectionstatechanged connected completed stable 42397ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f", "state": "connected"}] 42399ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 42399ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 42473ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 42473ms [log] [experimentStatusChanged] {"status": "running", "message": null} 42560ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"}', extra='') 42560ms [log] connectionstatechanged closed closed closed 42560ms [log] connectionstatechanged closed closed closed 42560ms [log] connectionstatechanged closed closed closed 42560ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f", "state": "closed"}] 42627ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 42627ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== js Client to js Client GPIO tests without driver: should transmit initial gpio value 42676ms [err] Traceback (most recent call last): 42676ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 42676ms [err] return _run_code(code, main_globals, None, 42676ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 42676ms [err] exec(code, run_globals) 42676ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 42676ms [err] sys.exit(main()) 42676ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 42676ms [err] asyncio.run(main_async()) 42676ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 42676ms [err] return loop.run_until_complete(main) 42676ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 42676ms [err] self.run_forever() 42676ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 42676ms [err] self._run_once() 42676ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 42677ms [err] event_list = self._selector.select(timeout) 42677ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 42677ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 42677ms [err] KeyboardInterrupt ================== js Client to js Client GPIO tests without driver: should transmit gpio value ================== js Client to python Client GPIO tests without driver: should transmit initial gpio value 48776ms [log] starting device 49238ms [err] Unclosed client session 49238ms [err] client_session: 49314ms [log] parsing 49314ms [log] creating device handler 49314ms [log] [ready] 49314ms [log] reading line 49314ms [log] [websocketToken] "04f968da-6b42-4588-b3b0-3f5843946b15" 49326ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 49326ms [log] [websocketConnected] 51067ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 51067ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 51074ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"}}', extra='') 51074ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"} 51138ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":false}', extra='') 51138ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013", "state": "new"}] 51162ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 51162ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 51297ms [log] WSMessage(type=, data='{"signalingType":"offer","content":{"type":"offer","sdp":"v=0\\r\\no=- 776163925607951204 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=extmap-allow-mixed\\r\\na=msid-semantic: WMS\\r\\nm=application 59988 UDP/DTLS/SCTP webrtc-datachannel\\r\\nc=IN IP4 141.24.210.113\\r\\na=candidate:2290544674 1 udp 2113937151 d8ed8d11-5862-4315-8cb8-6ef01ddf5bb0.local 53512 typ host generation 0 network-cost 999\\r\\na=candidate:2162080741 1 udp 1677729535 141.24.211.56 53512 typ srflx raddr 0.0.0.0 rport 0 generation 0 network-cost 999\\r\\na=candidate:1056047127 1 udp 33562623 141.24.210.113 59988 typ relay raddr 141.24.211.56 rport 53512 generation 0 network-cost 999\\r\\na=ice-ufrag:ymoX\\r\\na=ice-pwd:GKw9undiz8AbZML1bDYSFHQm\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 9B:AD:C3:73:9B:B6:80:53:80:A6:A6:C0:04:E9:7D:DC:7E:27:CF:B2:F8:DA:F3:3F:51:1A:74:B7:18:95:79:EA\\r\\na=setup:actpass\\r\\na=mid:0\\r\\na=sctp-port:5000\\r\\na=max-message-size:262144\\r\\n"},"messageType":"signaling","connectionUrl":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"}', extra='') 51297ms [log] handleSignalingMessage 51297ms [log] handleOffer 51297ms [log] makeAnswer 51297ms [log] connectionstatechanged new new have-remote-offer 51297ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013", "state": "new"}] 52162ms [log] connectionstatechanged new new stable 52162ms [log] connectionstatechanged new new stable 52162ms [log] connectionstatechanged connecting checking stable 52162ms [log] connectionstatechanged connecting checking stable 52162ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013", "state": "connecting"}] 52189ms [log] connectionstatechanged connecting completed stable 52189ms [log] connectionstatechanged connected completed stable 52189ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013", "state": "connected"}] 52198ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 52198ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 52284ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 52284ms [log] [experimentStatusChanged] {"status": "running", "message": null} 52364ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"}', extra='') 52364ms [log] connectionstatechanged closed closed closed 52364ms [log] connectionstatechanged closed closed closed 52364ms [log] connectionstatechanged closed closed closed 52364ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013", "state": "closed"}] 52447ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 52447ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== js Client to python Client GPIO tests without driver: should transmit gpio value 52512ms [err] Traceback (most recent call last): 52512ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 52512ms [err] return _run_code(code, main_globals, None, 52512ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 52512ms [err] exec(code, run_globals) 52512ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 52512ms [err] sys.exit(main()) 52512ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 52513ms [err] asyncio.run(main_async()) 52513ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 52513ms [err] return loop.run_until_complete(main) 52513ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 52513ms [err] self.run_forever() 52513ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 52513ms [err] self._run_once() 52513ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 52514ms [err] event_list = self._selector.select(timeout) 52514ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 52514ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 52514ms [err] KeyboardInterrupt 52621ms [log] starting device 53077ms [err] Unclosed client session 53077ms [err] client_session: 53165ms [log] parsing 53165ms [log] creating device handler 53165ms [log] [ready] 53165ms [log] reading line 53165ms [log] [websocketToken] "49924b0c-7deb-4350-8d71-6d0820d65f6a" 53181ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 53181ms [log] [websocketConnected] 54905ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 54905ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 54931ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"}}', extra='') 54931ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} 55027ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 55027ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49", "state": "new"}] 55029ms [log] makeOffer 55029ms [log] connectionstatechanged new new have-local-offer 55029ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49", "state": "new"}] 55070ms [log] WSMessage(type=, data='{"signalingType":"answer","content":{"type":"answer","sdp":"v=0\\r\\no=- 8434104067811896002 2 IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic: WMS\\r\\nm=application 9 DTLS/SCTP 5000\\r\\nc=IN IP4 0.0.0.0\\r\\na=candidate:3514236078 1 udp 2113937151 276c8706-ae46-4d04-8b4c-e86d7e0498d7.local 42819 typ host generation 0 network-cost 999\\r\\na=ice-ufrag:DcZ5\\r\\na=ice-pwd:wBjgKPmpUrvuF0fqLDxKyxGH\\r\\na=ice-options:trickle\\r\\na=fingerprint:sha-256 9E:94:BA:68:91:38:01:60:50:B9:6D:56:11:0C:0E:AD:1D:69:E4:61:65:15:A1:FA:63:F5:07:81:5B:12:A7:7B\\r\\na=setup:active\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 1024\\r\\n"},"messageType":"signaling","connectionUrl":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"}', extra='') 55070ms [log] handleSignalingMessage 55070ms [log] handleAnswer 55070ms [log] acceptAnswer 55070ms [log] connectionstatechanged connecting checking stable 55070ms [log] connectionstatechanged connecting checking stable 55070ms [log] connectionstatechanged connecting checking stable 55070ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49", "state": "connecting"}] 55082ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 55082ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 55096ms [log] connectionstatechanged connecting completed stable 55096ms [log] connectionstatechanged connected completed stable 55096ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49", "state": "connected"}] 55101ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 55101ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 55161ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 55161ms [log] [experimentStatusChanged] {"status": "running", "message": null} 55271ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"}', extra='') 55271ms [log] connectionstatechanged closed closed closed 55271ms [log] connectionstatechanged closed closed closed 55271ms [log] connectionstatechanged closed closed closed 55271ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49", "state": "closed"}] 55370ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 55370ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== python Client to js Client GPIO tests without driver: should transmit initial gpio value 55422ms [err] Traceback (most recent call last): 55422ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 55422ms [err] return _run_code(code, main_globals, None, 55422ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 55422ms [err] exec(code, run_globals) 55422ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 55422ms [err] sys.exit(main()) 55422ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 55422ms [err] asyncio.run(main_async()) 55422ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 55422ms [err] return loop.run_until_complete(main) 55422ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 55422ms [err] self.run_forever() 55422ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 55422ms [err] self._run_once() 55422ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 55422ms [err] event_list = self._selector.select(timeout) 55422ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 55423ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 55423ms [err] KeyboardInterrupt ================== python Client to js Client GPIO tests without driver: should transmit gpio value ================== python Client to python Client GPIO tests without driver: should transmit initial gpio value 63265ms [log] starting device 63713ms [err] Unclosed client session 63713ms [err] client_session: 63795ms [log] parsing 63795ms [log] creating device handler 63795ms [log] [ready] 63795ms [log] reading line 63795ms [log] [websocketToken] "917be8bb-f95d-4f9f-ad45-67c4acb6d96e" 63812ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 63812ms [log] [websocketConnected] 64048ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 64048ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 64071ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"}}', extra='') 64071ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} 64142ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 64142ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30", "state": "new"}] 64144ms [log] makeOffer 64144ms [log] connectionstatechanged new new have-local-offer 64144ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30", "state": "new"}] 64167ms [log] WSMessage(type=, data='{"connectionUrl":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","content":{"type":"answer","sdp":"v=0\\r\\no=- 3921829111 3921829111 IN IP4 0.0.0.0\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic:WMS *\\r\\nm=application 58586 DTLS/SCTP 5000\\r\\nc=IN IP4 172.30.0.1\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 65535\\r\\na=max-message-size:65536\\r\\na=candidate:0961bcac0b59e37a584a6649389cc518 1 udp 2130706431 172.30.0.1 58586 typ host\\r\\na=candidate:1babb1fcee9cdf726f1cf5c362bdaa00 1 udp 2130706431 172.17.0.3 51232 typ host\\r\\na=end-of-candidates\\r\\na=ice-ufrag:iTVD\\r\\na=ice-pwd:z1yBkpOYdjg7mM1eSLBDSe\\r\\na=fingerprint:sha-256 5D:B6:5C:F6:4A:B5:E8:E6:2D:90:B1:A1:FD:58:F1:AB:42:17:3C:D1:2A:0B:42:70:91:EE:75:3D:58:FB:C0:69\\r\\na=setup:active\\r\\n"},"signalingType":"answer","messageType":"signaling"}', extra='') 64167ms [log] handleSignalingMessage 64167ms [log] handleAnswer 64167ms [log] acceptAnswer 64167ms [log] connectionstatechanged connecting checking stable 64167ms [log] connectionstatechanged connecting checking stable 64167ms [log] connectionstatechanged connecting checking stable 64167ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30", "state": "connecting"}] 64176ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 64176ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 64191ms [log] connectionstatechanged connecting completed stable 64191ms [log] connectionstatechanged connected completed stable 64191ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30", "state": "connected"}] 64193ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 64194ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 64266ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 64266ms [log] [experimentStatusChanged] {"status": "running", "message": null} 64361ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"}', extra='') 64361ms [log] connectionstatechanged closed closed closed 64361ms [log] connectionstatechanged closed closed closed 64361ms [log] connectionstatechanged closed closed closed 64361ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30", "state": "closed"}] 64460ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 64460ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== python Client to python Client GPIO tests without driver: should transmit gpio value 64514ms [err] Traceback (most recent call last): 64514ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 64514ms [err] return _run_code(code, main_globals, None, 64514ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 64514ms [err] exec(code, run_globals) 64514ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 64515ms [err] sys.exit(main()) 64515ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 64515ms [err] asyncio.run(main_async()) 64515ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 64515ms [err] return loop.run_until_complete(main) 64515ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 64515ms [err] self.run_forever() 64515ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 64515ms [err] self._run_once() 64515ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 64516ms [err] event_list = self._selector.select(timeout) 64516ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 64516ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 64516ms [err] KeyboardInterrupt 64628ms [log] starting device 65077ms [err] Unclosed client session 65077ms [err] client_session: 65165ms [log] parsing 65165ms [log] creating device handler 65165ms [log] [ready] 65165ms [log] reading line 65165ms [log] [websocketToken] "8b9709d0-e337-4c50-8725-5a9ea6439cc0" 65180ms [log] WSMessage(type=, data='{"messageType":"authenticate","authenticated":true}', extra='') 65180ms [log] [websocketConnected] 65411ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The booking has been updated successfully."}', extra='') 65411ms [log] [experimentStatusChanged] {"status": "setup", "message": "The booking has been updated successfully."} 65433ms [log] WSMessage(type=, data='{"messageType":"configuration","configuration":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"}}', extra='') 65433ms [log] [configuration] {"experimentUrl": "http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"} 65508ms [log] WSMessage(type=, data='{"messageType":"command","command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","services":[{"interfaces":[{"interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"},"busId":"gpio1","direction":"in"},{"interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"},"busId":"gpio2","direction":"in"}],"serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","remoteServiceId":"electrical"}],"tiebreaker":true}', extra='') 65508ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e", "state": "new"}] 65511ms [log] makeOffer 65511ms [log] connectionstatechanged new new have-local-offer 65511ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e", "state": "new"}] 65540ms [log] WSMessage(type=, data='{"connectionUrl":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","content":{"type":"answer","sdp":"v=0\\r\\no=- 3921829112 3921829112 IN IP4 0.0.0.0\\r\\ns=-\\r\\nt=0 0\\r\\na=group:BUNDLE 0\\r\\na=msid-semantic:WMS *\\r\\nm=application 40205 DTLS/SCTP 5000\\r\\nc=IN IP4 172.30.0.1\\r\\na=mid:0\\r\\na=sctpmap:5000 webrtc-datachannel 65535\\r\\na=max-message-size:65536\\r\\na=candidate:0961bcac0b59e37a584a6649389cc518 1 udp 2130706431 172.30.0.1 40205 typ host\\r\\na=candidate:1babb1fcee9cdf726f1cf5c362bdaa00 1 udp 2130706431 172.17.0.3 55726 typ host\\r\\na=end-of-candidates\\r\\na=ice-ufrag:p5T6\\r\\na=ice-pwd:UYpEf9PEXCyygmrpQHfhFZ\\r\\na=fingerprint:sha-256 05:F6:4F:D8:8C:42:19:D8:7E:73:B2:62:C5:B6:3E:81:0F:E5:45:7E:94:26:5A:36:17:67:C2:3B:6A:05:CC:E2\\r\\na=setup:active\\r\\n"},"signalingType":"answer","messageType":"signaling"}', extra='') 65540ms [log] handleSignalingMessage 65540ms [log] handleAnswer 65540ms [log] acceptAnswer 65540ms [log] connectionstatechanged connecting checking stable 65540ms [log] connectionstatechanged connecting checking stable 65540ms [log] connectionstatechanged connecting checking stable 65540ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e", "state": "connecting"}] 65550ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"setup","message":"The peerconnections for the experiment have been created."}', extra='') 65550ms [log] [experimentStatusChanged] {"status": "setup", "message": "The peerconnections for the experiment have been created."} 65565ms [log] connectionstatechanged connecting completed stable 65565ms [log] connectionstatechanged connected completed stable 65565ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e", "state": "connected"}] 65568ms [log] [gpio] {"signal": "gpio1", "value": "strongH"} 65568ms [log] [gpio] {"signal": "gpio2", "value": "strongL"} 65643ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"running"}', extra='') 65643ms [log] [experimentStatusChanged] {"status": "running", "message": null} 65744ms [log] WSMessage(type=, data='{"messageType":"command","command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"}', extra='') 65744ms [log] connectionstatechanged closed closed closed 65744ms [log] connectionstatechanged closed closed closed 65744ms [log] connectionstatechanged closed closed closed 65744ms [log] [connectionsChanged] [{"url": "http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e", "state": "closed"}] 65837ms [log] WSMessage(type=, data='{"messageType":"experiment-status-changed","status":"finished","message":"The experiment has been finished successfully."}', extra='') 65837ms [log] [experimentStatusChanged] {"status": "finished", "message": "The experiment has been finished successfully."} ================== Client Communication (device <-> device): should connect without errors 65888ms [err] Traceback (most recent call last): 65888ms [err] File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main 65888ms [err] return _run_code(code, main_globals, None, 65888ms [err] File "/usr/lib/python3.10/runpy.py", line 86, in _run_code 65888ms [err] exec(code, run_globals) 65888ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 185, in 65888ms [err] sys.exit(main()) 65888ms [err] File "/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/helper/dummy-device/python/src/dummy_device/__main__.py", line 181, in main 65888ms [err] asyncio.run(main_async()) 65888ms [err] File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run 65888ms [err] return loop.run_until_complete(main) 65888ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete 65888ms [err] self.run_forever() 65888ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever 65889ms [err] self._run_once() 65889ms [err] File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once 65892ms [err] event_list = self._selector.select(timeout) 65892ms [err] File "/usr/lib/python3.10/selectors.py", line 469, in select 65892ms [err] fd_event_list = self._selector.poll(timeout, max_ev) 65892ms [err] KeyboardInterrupt ================== Client Communication (device <-> device): should start an experiment ================== Client Communication (edge instantiable <-> device): should connect without errors ================== Client Communication (edge instantiable <-> device): should start an experiment