This path is for software developers who want to extend Proxus with custom logic, integrate it into their applications, or build automation workflows. By the end, you will be able to write and deploy C# edge functions, use the REST API, and understand the AI-ready MCP server.
What You Will Be Able To Do
- Write and deploy C# functions that process telemetry at the edge
- Use caching, scheduling, and MQTT client features in your functions
- Authenticate with the REST API and perform CRUD operations
- Query telemetry data from ClickHouse via the Telemetry API
- Understand the MCP Server for AI-assisted operations
Estimated time: 2–3 hours
Prerequisites
- Proxus is installed and a simulated device is sending data (Quick Start Guide)
- You are comfortable with C# and basic REST API concepts
- You can log in to the Management Console as an admin
Step-by-Step Path
Understand what runs where (15 min)
Before writing code, understand the execution environment:
- Platform Architecture — Data Flow Pipeline from Ingest to Persist.
- Stateless Edge Architecture — How Gateways receive and execute workloads.
- Unified Namespace — The data model your code will interact with.
Key takeaway: Your C# code runs on the Edge Gateway, not the Central Server. It processes data locally before the data reaches the platform.
Write your first edge function (30 min)
- Edge Scripting Overview — What edge scripting is and when to use it vs. rules.
- Writing User Functions — C# function architecture,
FunctionBaseclass, message handling.
Hands-on exercise: Follow the code example to create a function that calculates efficiency from Temperature data and injects the result back into the pipeline.
After completing: Your function should appear in the Management Console under Edge Scripting, deployed to the SYSTEM gateway.
Understand the SDK capabilities (15 min)
Stay on the User Functions page and study:
- Logging:
LogInformation,LogWarning,LogError,LogDebug - Data Operations:
Save(),SendNotification(),UpdateDeviceStatus() - Caching: Thread-safe
Cachedictionary with auto-expiration - Scheduling:
ExecuteScheduledTask()for recurring background work - MQTT Client:
PublishMqttMessage(),SubscribeToMqttTopic()for external brokers
Key question: When would you use ExecuteScheduledTask instead of processing inside OnMessageReceive?
Monitor your function (10 min)
- Deployment & Logs — View deployment status, runtime logs, and crash reporting.
After reading: You should know where to find your function's logs and what happens after 10 unhandled exceptions.
Learn the Rules Engine (20 min)
Rules complement functions. Use rules for simple condition-action patterns and functions for complex logic.
- Rules Engine Overview — Evaluation modes and rule structure.
- Expression Syntax — The expression language for condition building.
- Anomaly Detection — Z-Score and statistical anomaly models.
Suggested exercise: Create a rule that detects when Temperature stays above 70°C for more than 5 consecutive readings.
Use the REST API (30 min)
- REST API Reference — Authentication, OData endpoints, and Telemetry API.
Hands-on exercises:
- Authenticate and get a JWT token
- List all devices using the OData endpoint with
$filter - Query the last hour of telemetry data from ClickHouse
The page includes examples in Curl, JavaScript, Python, and C#.
Explore the MCP Server (15 min)
- MCP Server — AI-friendly interface for platform operations.
After reading: You should understand how AI agents can query devices, read telemetry, and manage rules through structured tool calls.
Review configuration for developers (reference)
- User Functions Config — Crash thresholds, auto-inject try/catch, log rate limits.
- JWT & WebAPI Config — Token signing keys, expiration, CORS.