{ "FormatVersion": 3, "Id": "8e9f0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b"/*WebSocketClient*/, "Description": "Connects to a WebSocket server to enable real-time, two-way communication.\n\nThis operator establishes a client connection to a WebSocket server, allowing you to send and receive messages. It's useful for interacting with web-based applications, APIs, or other systems that use the WebSocket protocol.\n\nTips:\n- The `Url` should start with 'ws://' or 'wss://' (for secure connections).\n- Use `SendOnChange` or `SendTrigger` to control when messages are sent.\n- Received messages can be accessed as a raw string, a list of lines, or parsed into a dictionary or list of parts, depending on the `ParsingMode`.\n\nAKA: websocket, socket, web, real-time, client", "InputUis": [ { "InputId": "0f1e2d3c-4b5a-4968-7012-3456789abcde"/*ParsingMode*/, "Position": { "X": -200.0, "Y": 600.0 }, "Description": "Defines how incoming messages are parsed. Options include treating the message as a single string, splitting it into lines, parsing it as a JSON dictionary, or splitting it by a custom delimiter." }, { "InputId": "1e2d3c4b-5a6f-4879-0123-456789abcdef"/*Delimiter*/, "Position": { "X": -200.0, "Y": 675.0 }, "Description": "The character or string to use as a delimiter when `ParsingMode` is set to 'Split by Delimiter'.", "Usage": "Default" }, { "InputId": "216a0356-ef4a-413a-a656-7497127e31d4"/*SendOnChange*/, "Position": { "X": -200.0, "Y": 375.0 }, "Description": "If enabled, a message is sent automatically whenever the content of `MessageParts` changes." }, { "InputId": "59074d76-1f4f-406a-b512-5813f4e3420e"/*MessageParts*/, "Position": { "X": -200.0, "Y": 225.0 }, "Description": "A list of strings or values that will be joined together to form the message to be sent.", "Usage": "Default" }, { "InputId": "5e725916-4143-4759-8651-e12185c658d3"/*PrintToLog*/, "Position": { "X": -200.0, "Y": 525.0 }, "Description": "If enabled, prints connection status, sent/received messages, and errors to the T3 log. Useful for debugging." }, { "InputId": "82933c40-da9e-4340-a227-e9bacf6e2063"/*Separator*/, "Position": { "X": -200.0, "Y": 300.0 }, "Description": "A string used to join the `MessageParts` together before sending.", "Usage": "Default" }, { "InputId": "a1b2c3d4-e5f6-4789-0123-456789abcdef"/*Connect*/, "Position": { "X": -200.0, "Y": 0.0 }, "Description": "Initiates or closes the connection to the WebSocket server." }, { "InputId": "b1c2d3e4-f5a6-4789-0123-456789abcdef"/*Url*/, "Position": { "X": -200.0, "Y": 75.0 }, "Description": "The URL of the WebSocket server (e.g., 'ws://localhost:8080').", "Usage": "Default" }, { "InputId": "c7ac22c0-a31e-41f6-b29d-d40956e6688b"/*SendTrigger*/, "Position": { "X": -200.0, "Y": 450.0 }, "Description": "A trigger to manually send the message. The message is sent when this value changes from 0 to 1." }, { "InputId": "d1e2f3a4-b5c6-4789-0123-456789abcdef"/*ListLength*/, "Position": { "X": -200.0, "Y": 150.0 }, "Description": "The maximum number of received lines to store in the `ReceivedLines` output list." } ], "SymbolChildUis": [], "OutputUis": [ { "OutputId": "7c8d9e0a-1b2c-43f5-89de-1234567890ab"/*ReceivedString*/, "Position": { "X": 300.0, "Y": 200.0 } }, { "OutputId": "f2e1d0c9-b8a7-4654-7321-0fedcba98765"/*ReceivedLines*/, "Position": { "X": 300.0, "Y": 300.0 } }, { "OutputId": "9b8a7c6d-5e4f-4012-3456-7890abcdef12"/*WasTrigger*/, "Position": { "X": 300.0, "Y": 400.0 } }, { "OutputId": "c1d2e3f4-5a6b-4789-0c1d-2e3f4a5b6c7d"/*IsConnected*/, "Position": { "X": 300.0, "Y": 500.0 } }, { "OutputId": "2d3c4b5a-6f7e-4789-0123-456789abcdef"/*ReceivedDictionary*/, "Position": { "X": 300.0, "Y": 600.0 } }, { "OutputId": "3c4b5a6f-7e8d-4690-1234-56789abcdef0"/*ReceivedParts*/, "Position": { "X": 300.0, "Y": 700.0 } } ] }