| let reachyIp = 'localhost'; | |
| let reachyPort = 8000; | |
| const reachyClient = { | |
| getHTTPStatus: async () => { | |
| const statusDiv = document.getElementById('status-text-http'); | |
| const statusDot = document.getElementById('status-dot-http'); | |
| try { | |
| const resp = await fetch(`http://${reachyIp}:${reachyPort}/api/daemon/status`, { mode: 'cors' }); | |
| if (resp.ok) { | |
| const status = await resp.json(); | |
| statusDiv.innerText = `Connected: ${status.state}`; | |
| statusDot.classList.remove('disconnected'); | |
| statusDot.classList.add('connected'); | |
| console.log("HTTP OK"); | |
| } else { | |
| statusDiv.innerText = 'HTTP Connection Error'; | |
| statusDot.classList.remove('connected'); | |
| statusDot.classList.add('disconnected'); | |
| console.log("HTTP ERROR"); | |
| } | |
| } catch (error) { | |
| statusDiv.innerText = 'HTTP Connection Error'; | |
| console.log("HTTP ERROR"); | |
| } | |
| }, | |
| getWsStatus: async () => { | |
| const statusDiv = document.getElementById('status-text-ws'); | |
| const statusDot = document.getElementById('status-dot-ws'); | |
| try { | |
| const ws = new WebSocket(`ws://${reachyIp}:${reachyPort}/api/state/ws/full`); | |
| ws.onmessage = (msg) => { | |
| statusDiv.innerText = 'Connected: running'; | |
| statusDot.classList.remove('disconnected'); | |
| statusDot.classList.add('connected'); | |
| ws.close(); | |
| console.log("WS OK"); | |
| }; | |
| ws.onerror = () => { | |
| const statusDiv = document.getElementById('status-text-ws'); | |
| statusDiv.innerText = 'WebSocket Connection Error'; | |
| console.log("WS ERROR"); | |
| }; | |
| } catch (error) { | |
| statusDiv.innerText = 'WebSocket Connection Error'; | |
| statusDot.classList.remove('connected'); | |
| statusDot.classList.add('disconnected'); | |
| console.log("WS ERROR"); | |
| } | |
| }, | |
| }; | |
| const tryConnect = async () => { | |
| const ipInput = document.getElementById('ip-input'); | |
| reachyIp = ipInput.value || 'localhost'; | |
| console.log(`Trying to connect to Reachy at ${reachyIp}...`); | |
| await reachyClient.getHTTPStatus(); | |
| await reachyClient.getWsStatus(); | |
| }; | |
| document.addEventListener('DOMContentLoaded', () => { | |
| tryConnect(); | |
| }); | |