Visual Editor
The Visual Editor is a drag-and-drop interface for building device logic without writing code. Built on Blockly, it provides an intuitive way to create scripts by connecting visual blocks that represent programming concepts.
Behind the scenes, the Visual Editor automatically translates your block arrangements into UniotLisp code. This approach makes IoT development accessible to beginners while remaining efficient for experienced developers who want to prototype quickly. Focus on application logic instead of syntax details.
How It Works
Drag blocks from the toolbox into your workspace
Connect blocks together to build logic - blocks snap together when they're compatible
Configure blocks by filling in values, selecting options, or creating variables
Test in the emulator to verify behavior
Compile to UniotLisp when ready to deploy or view the generated code
The Visual Editor handles:
Hardware interactions - Read sensors, control actuators, and manage device I/O with Primitive blocks
MQTT communications - Handle events, access payloads, and publish messages
Program logic - Conditions, loops, variables, functions, and data manipulation
Block Categories
The Visual Editor organizes blocks into categories by function. Each category contains blocks designed for specific purposes:
Special: Provides blocks for controlling the script execution flow and interacting with external MQTT events.
Logic: Includes blocks for boolean operations, comparisons, and conditional statements to control the flow of your scripts.
Math: Provides blocks for arithmetic, random number generation, and advanced mathematical functions.
Loops: Enables repeating sequences of instructions based on conditions or specific counts.
Text: Contains blocks for creating, manipulating, and outputting text strings in your scripts.
Variables: Allows you to store, retrieve, and modify values using named variables in your scripts.
Functions: Lets you define reusable blocks of code with optional parameters and return values.
Primitives: Includes blocks for direct hardware interactions, such as reading sensor data or controlling actuators.
Last updated