HomeDocumentation
Quick StartAI Skills
GitHub

Documentation

Quick Start

Prerequisites

  • Docker Desktop installed and running
  • Git
  • Make (optional, recommended)

Installation

git clone https://github.com/inferis995/openedge.git
cd openedge
make start

Verify

curl http://localhost:8081/ready

Expected: {status: ready, db: ok, redis: ok}

Access Dashboard

Open http://localhost:3000

Login: admin / admin123

Architecture

Drivers → Engine/Historian → Cloud Sync
   │           │              │
   ▼           ▼              ▼
PostgreSQL ←→ Redis ←→ MQTT Cloud

Data Flow

  1. Drivers poll PLCs at configured scan rates
  2. Engine processes: deadband, alarm evaluation
  3. Historian stores in TimescaleDB
  4. Cloud Sync forwards to MQTT (optional)

Services

ServicePortDescription
Web UI3000React dashboard
Core API8081REST API server
MQTT Broker18830Mosquitto
PostgreSQL5432TimescaleDB
Redis6379Real-time cache

AI Agent Skills

OpenEdge ships with AI agent skills for autonomous deploy, configure, and monitor.

# Install all skills
npx github:inferis995/openedge

# Or individually
npx github:inferis995/openedge openedge-ops
npx github:inferis995/openedge openedge

openedge-ops

Deploy & configure from scratch.

  • • Clone repo and run verified deploy
  • • Create gateways (Modbus, S7, OPC UA)
  • • Import tags in bulk
  • • Diagnose and fix container issues

openedge

Monitor & query (read-only).

  • • Check active alarms and severity
  • • Read real-time tag values
  • • Detect anomalies via Z-score
  • • Generate alarm digests

Autonomous Monitoring

# Claude Code — check alarms every 5 min
/schedule "*/5 * * * *" "controlla allarmi OpenEdge"

# Shell cron
*/5 * * * * openclaw run openedge "controlla allarmi"

Protocols

Modbus TCP

Holding registers, coils, inputs

Siemens S7

S7-300/400/1200/1500

OPC UA

Browse nodes, subscribe

MQTT

Sparkplug B compliant

Redis

Key-based bridging

API Reference

Base: http://localhost:8081

Authentication

TOKEN=$(curl -s -X POST http://localhost:8081/api/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"admin","password":"admin123"}' \
  | jq -r '.token')

curl -H "Authorization: Bearer $TOKEN" \
  -H "X-Organization-ID: 1" \
  http://localhost:8081/api/tags

Core Endpoints

GET/healthHealth check
GET/readyReadiness
GET/api/tagsList all tags
GET/api/tags/:id/currentReal-time value
POST/api/tags/:id/writeWrite value
GET/api/gatewaysList gateways
GET/api/alarms/activeActive alarms
GET/api/historyHistorical data
GET/api/aiops/summaryAI-Ops summary

Configuration

# Database
DB_HOST=postgres
DB_PORT=5432
DB_USER=industrial_user
DB_PASSWORD=industrial_pass
DB_NAME=industrial_edge

# MQTT
MQTT_HOST=mosquitto
MQTT_PORT=1883

# Redis
REDIS_HOST=redis
REDIS_PORT=6379

# Cloud Sync (Optional)
CLOUD_SYNC_ENABLED=false

Deployment

Makefile Commands

make start    # Build images + start services
make up       # Start services
make down     # Stop all services
make restart  # Stop + start
make logs     # Follow logs
make clean    # Full reset

Requirements

Minimum

  • CPU: 2 cores
  • RAM: 4 GB
  • Disk: 20 GB SSD

Recommended

  • CPU: 4 cores
  • RAM: 8 GB
  • Disk: 100 GB SSD