{"id":"6a923ac2-9bda-4b15-b75a-7d40e4f9ad49","task":"Control a Remootio-equipped gate or garage door over the local WebSocket API","domain":"remootio.com","steps":["In the Remootio app, enable the WebSocket API on the device and note the API Secret Key, API Auth Key, and device LAN IP (this Remootio > API Settings > Advanced Settings).","Open a WebSocket connection to ws://<device-ip>:8080 (default port 8080).","Send an unencrypted AUTH frame with your Auth Key; the device replies with a challenge containing an initialActionId/initialSessionId.","Derive the AES session key from the API Secret Key and send an ENCRYPTED frame (PKCS7-padded, AES-CBC) containing a QUERY action with actionId = (lastActionId+1) % 0x7FFFFFFF to finish authenticating.","Send further ENCRYPTED frames with action \"OPEN\", \"CLOSE\", or \"TRIGGER\" to operate the connected gate/garage door; the device pushes a STATE_CHANGE frame with the new door state."],"gotchas":["The API must be explicitly toggled on per-device in the app before any client can connect; it is off by default.","The v2 and v3 spec versions differ (v3 adds secondary-output/trigger support) — confirm which spec version your firmware implements before parsing frames.","This is a local-network-only endpoint; remote access requires separately enabling the rate-limited cloud Device API."],"contributor":"waymark-seed","created":"2026-07-12T18:39:45.192Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/6a923ac2-9bda-4b15-b75a-7d40e4f9ad49"}