Skip to content

Commit 01d30ff

Browse files
authored
Merge pull request #174 from json-scada/master
Version 0.41-alpha
2 parents 83415c1 + 8bfd94e commit 01d30ff

File tree

136 files changed

+34506
-3520
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+34506
-3520
lines changed

README.md

+27-19
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ A portable and scalable SCADA/IIoT-I4.0 platform centered on the MongoDB databas
1919
![](https://img.shields.io/badge/linux-ARM-green 'Linux ARM-64')
2020
![](https://img.shields.io/badge/windows-x86--64-green 'Windows x86-64')
2121
![](https://img.shields.io/badge/macosx-x86--64-green 'Mac OSX x86-64')
22-
![](https://img.shields.io/badge/macosx-ARM--M1-yellow 'Mac ARM M1')
22+
![](https://img.shields.io/badge/macosx-ARM--M1-yellow 'Mac ARM Mx')
2323

2424
![](https://img.shields.io/badge/IEC61850-green 'IEC61850')
2525
![](https://img.shields.io/badge/IEC60870--5--104-green 'IEC60870-5-104')
@@ -48,7 +48,7 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
4848
- MongoDB as the real-time core database, persistence layer, config store, SOE historian.
4949
- Event-based realtime async data processing with MongoDB Change Streams.
5050
- Portability and modular interoperability over Linux, Windows, Mac OSX, x86/64, ARM.
51-
- Windows installer available in the [releases section](https://github.com/riclolsen/json-scada/releases/tag/V0.40-alpha).
51+
- Windows installer available in the [releases section](https://github.com/riclolsen/json-scada/releases/tag/V0.41-alpha).
5252
- Unlimited tags, servers, and users.
5353
- Horizontal scalability, from a single computer to big clusters (MongoDB-sharding), Docker containers, VMs, Kubernetes, cloud, or hybrid deployments.
5454
- Modular distributed architecture. Lightweight redundant data acquisition nodes can connect securely over TLS to the database server. E.g. a Raspberry PI can be a data acquisition node.
@@ -62,6 +62,7 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
6262
- PostgreSQL/TimescaleDB historian integrated with Grafana for easy creation of dashboards.
6363
- Easy development of custom applications with modern stacks like MEAN/MERN, etc. Extensive use of JSON from bottom up.
6464
- Leverage a huge ecosystem of MongoDB/PostgreSQL tools, community, services, etc.
65+
- Easy AI-helped custom app development using templates/API for tools like WindSurf/Cline/Cursor/Copilot/etc.
6566

6667
## Use cases
6768

@@ -89,7 +90,7 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
8990
## Documentation
9091

9192
- [Generic Install Guide](https://github.com/riclolsen/json-scada/blob/master/docs/install.md)
92-
- [Windows Installer](https://github.com/riclolsen/json-scada/releases/tag/V0.40-alpha)
93+
- [Windows Installer](https://github.com/riclolsen/json-scada/releases/tag/V0.41-alpha)
9394
- [RedHat/Rocky Linux Installer](https://github.com/riclolsen/json-scada/blob/master/docs/install.md#rhel94-and-compatible-systems-automated-installation)
9495
- [Docker Demo](https://github.com/riclolsen/json-scada/blob/master/demo-docker/README.md)
9596
- [Schema Documentation](https://github.com/riclolsen/json-scada/blob/master/docs/schema.md)
@@ -108,53 +109,56 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
108109
- [OPC-DA Client Driver](https://github.com/riclolsen/json-scada/blob/master/src/OPC-DA-Client/README.md)
109110
- [PLC4X-GO Modbus Client Driver](https://github.com/riclolsen/json-scada/blob/master/src/plc4x-client/README.md)
110111
- [CIP Ethernet/IP PLCTags Client Driver](https://github.com/riclolsen/json-scada/blob/master/src/libplctag/PLCTagsClient/README.md)
111-
- [I104M Client Driver](https://github.com/riclolsen/json-scada/blob/master/src/i104m/README.md)
112112
- [Calculations](https://github.com/riclolsen/json-scada/blob/master/src/calculations/README.md)
113113
- [Change Stream Data Processor](https://github.com/riclolsen/json-scada/blob/master/src/cs_data_processor/README.md)
114114
- [Custom Data Processor](https://github.com/riclolsen/json-scada/blob/master/src/cs_custom_processor/README.md)
115+
- [Custom Developments](https://github.com/riclolsen/json-scada/blob/master/src/custom-developments/README.md)
115116
- [Realtime Data Server](https://github.com/riclolsen/json-scada/blob/master/src/server_realtime_auth/README.md)
116117
- [OSHMI2JSON Tool](https://github.com/riclolsen/json-scada/blob/master/src/oshmi2json/README.md)
117118
- [Report Generators](https://github.com/riclolsen/json-scada/blob/master/docs/report_generators.md)
119+
- [I104M Client Driver](https://github.com/riclolsen/json-scada/blob/master/src/i104m/README.md)
118120
- [SAGE-web Displays](https://github.com/riclolsen/json-scada/blob/master/src/htdocs/sage-cepel-displays/README.md)
119121

120122
## Protocols Roadmap
121123

122124
- [x] IEC 60870-5-104 Server TCP/TLS
123125
- [x] IEC 60870-5-104 Client TCP/TLS
124-
- [x] IEC 60870-5-101 Server (Serial, TCP)
125-
- [x] IEC 60870-5-101 Client (Serial, TCP)
126+
- [x] IEC 60870-5-101 Server Serial/TCP
127+
- [x] IEC 60870-5-101 Client Serial/TCP
126128
- [ ] IEC 60870-5-103 Client
127-
- [x] DNP3 Client (TCP, UDP, TLS, Serial) - Windows x64 only!
128-
- [ ] DNP3 Server (TCP, UDP, TLS, Serial)
129-
- [x] MQTT/Sparkplug-B Client
129+
- [x] IEC 61850 MMS Client TCP/TLS
130+
- [ ] IEC 61850 MMS Server
131+
- [ ] IEC 61850 GOOSE/SV Client
132+
- [x] DNP3 Client TCP/UDP/TLS/Serial - Windows x64 only!
133+
- [ ] DNP3 Server TCP/UDP/TLS/Serial
134+
- [x] MQTT/Sparkplug-B Pub/Sub TCP/TLS
130135
- [x] Modbus Client via PLC4X-GO
131-
- [x] I104M (adapter for some OSHMI drivers)
132-
- [ ] ICCP Client
133-
- [ ] ICCP Server
136+
- [ ] ICCP Client TCP/TLS
137+
- [ ] ICCP Server TCP/TLS
134138
- [x] Telegraf Client (OPC-UA, MQTT, MODBUS, SNMP, ...)
135-
- [x] OPC UA Client
136-
- [x] OPC UA Server
139+
- [x] OPC UA Client TCP/Secure
140+
- [x] OPC UA Server TCP/Secure
137141
- [ ] OPC UA Historical Data Server
138142
- [x] OPC DA Client (Windows)
139143
- [ ] OPC AE Client (Windows)
140144
- [ ] OPC DA Server (Windows)
141-
- [x] IEC 61850 MMS Client
142-
- [ ] IEC 61850 MMS Server
143-
- [ ] IEC 61850 GOOSE Client
144145
- [x] CIP Ethernet/IP (libplctag, experimental)
145146
- [ ] Siemens S7
146147
- [ ] BACNET
148+
- [x] I104M (legacy adapter for some OSHMI drivers)
147149

148150
## Features Roadmap
149151

150152
- [x] Web-based Viewers
151153
- [x] Web-based Configuration Manager
152154
- [x] Excel-based Configuration
155+
- [x] JWT Authentication
153156
- [x] User auth/Role-based Access Control (RBAC)
157+
- [ ] LDAP/AD Authorization
154158
- [x] Inkscape-based SVG Synoptic Editor
155-
- [x] Compiled Calculations Engine
159+
- [x] Compiled Cyclic Calculations Engine
160+
- [ ] Low-latency/Asynchronous Calculations Engine
156161
- [x] Customizable Change-Stream Processor (for user implemented scripts)
157-
- [ ] Low-latency/Interpreted Calculations Engine
158162
- [x] Basic Alarms Processor
159163
- [ ] Advanced Alarms Processor
160164
- [x] PostgreSQL/TimescaleDB Historian
@@ -167,14 +171,18 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
167171
- [x] Install Script for RedHat/Rocky 9.4 Linux x86-64 and arm64
168172
- [ ] Linux Image / VM
169173
- [x] Supervisor (Linux process manager) examples
174+
- [ ] Project IDX Configuration
170175
- [ ] InfluxDB Integration
171176
- [x] Telegraf Integration
172177
- [ ] Kafka Integration
173178
- [x] PowerBI Integration (via PostgreSQL connector)
174179
- [ ] PowerBI Direct Integration
180+
- [ ] Supabase Integration
175181
- [ ] NodeRed Integration
182+
- [ ] n8n Integration
176183
- [ ] Alerta Integration (https://alerta.io/)
177184
- [x] PLC4X-GO Integration (https://plc4x.apache.org/)
185+
- [x] Example templates/API for fast AI-helped custom app developments
178186
- [ ] Managed Cloud Service
179187
- [ ] Supported LTS versions
180188

conf-templates/config_viewers.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
//var EventsViewer_AckTxtColor = '#606060'; // acknowledged event color
1919
//var EventsViewer_ElimTxtColor = '#B0B0B0'; // eliminated event color (until removed)
2020
//
21-
//var EventsViewer_RefreshTime = 15; // refresh time in seconds (digital changes triggers a faster refresh)
21+
//var EventsViewer_RefreshTime = 12; // refresh time in seconds (digital changes triggers a faster refresh)
2222
//
2323
// var EventsViewer_MaxRealtimeEvents = 750; // maximum number of realtime events to show
2424
//var EventsViewer_MaxHistoricalEvents = 2500; // maximum number of historical events to query from server at each request
@@ -66,7 +66,7 @@
6666
//
6767
//var TabularViewer_LineColor = '#DCDCEE'; // line color
6868
//
69-
//var TabularViewer_RefreshTime = 7; // refresh time (seconds)
69+
//var TabularViewer_RefreshTime = 3; // refresh time (seconds)
7070
//
7171
//// locale and time zone for date/time formatting (leave empty for browser defaults)
7272
//// see https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString
@@ -78,7 +78,7 @@
7878
//
7979
//// Screen Viewer ---------------------------------------------------------------------------------
8080
//
81-
//var ScreenViewer_RefreshTime = 5; // refresh time in seconds (digital changes triggers a faster refresh)
81+
//var ScreenViewer_RefreshTime = 3; // refresh time in seconds (digital changes triggers a faster refresh)
8282
//
8383
//// SVG Screen dimensions (must match <svg> tag dimensions on SVG screens)
8484
//// <svg width="2400" height="1500">

0 commit comments

Comments
 (0)