{"id":18496845,"url":"https://github.com/riclolsen/oshmi","last_synced_at":"2025-04-04T17:09:39.701Z","repository":{"id":37438845,"uuid":"123363712","full_name":"riclolsen/OSHMI","owner":"riclolsen","description":"SCADA HMI for substations and automation applications.","archived":false,"fork":false,"pushed_at":"2024-06-20T14:37:08.000Z","size":52041,"stargazers_count":410,"open_issues_count":1,"forks_count":159,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-03-28T16:08:22.402Z","etag":null,"topics":["control-center","control-centers","dnp3","grafana","hmi","html5","iccp","iec60870-5-104","iec61850","inkscape","iot","modbus","opc-da","opc-ua","s7-protocol","scada","siemens-s7-plcs","substation","svg","tase2"],"latest_commit_sha":null,"homepage":"http://oshmiopensubstationhmi.sourceforge.net/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/riclolsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["riclolsen"]}},"created_at":"2018-03-01T01:17:35.000Z","updated_at":"2025-03-24T05:30:36.000Z","dependencies_parsed_at":"2024-12-14T17:01:53.841Z","dependency_job_id":"c3977300-f70a-4bbb-9479-b12074bae27c","html_url":"https://github.com/riclolsen/OSHMI","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riclolsen%2FOSHMI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riclolsen%2FOSHMI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riclolsen%2FOSHMI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riclolsen%2FOSHMI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/riclolsen","download_url":"https://codeload.github.com/riclolsen/OSHMI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217221,"owners_count":20903009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["control-center","control-centers","dnp3","grafana","hmi","html5","iccp","iec60870-5-104","iec61850","inkscape","iot","modbus","opc-da","opc-ua","s7-protocol","scada","siemens-s7-plcs","substation","svg","tase2"],"created_at":"2024-11-06T13:32:01.561Z","updated_at":"2025-04-04T17:09:39.684Z","avatar_url":"https://github.com/riclolsen.png","language":"JavaScript","funding_links":["https://github.com/sponsors/riclolsen"],"categories":[],"sub_categories":[],"readme":"# OSHMI - Open Substation HMI\nA modern SCADA HMI for substations, IoT and other automation applications.\n\nThis project exists because we believe that by combining existing open source projects and tools we can create a very capable, mobile and cloud-friendly HMI system that can rival proprietary software. This approach makes it possible to sum the forces of each project (Chromium, SVG/HTML5, PHP, Lua, SQLite, Inkscape, Libiec61850, OpenDNP3, Nginx, Vega, PostgreSQL, Grafana,…) to achieve a great set of open, evergreen, modular and customizable tools for building great HMIs for automation projects. If you also believe this is possible, please give OSHMI a try and collaborate with the project!\n\n- Mobile and Cloud friendly.\n- Created for substation automation and control centers, but can be used for IoT and general SCADA HMI automation applications.\n- JSON over UDP data and control interface for easy integration with IoT devices and other systems.\n- Built with open source, web based technologies and tools: SVG, HTML5, Javascript, PHP, Lua, QT, SQLite, Nginx, Inkscape, Vega.\n- Strong focus on UX and High Performance HMI / ISA101 compatible graphics.\n- Redundant mode of operation, dual server/ ?n? clients. Unlimited points, clients, monitors and viewers.\n- Easy configuration with plain text files.\n- IEC61850, IEC60870-5-104 (QTester104), DNP3, MODBUS, OPC UA/DA, Siemens S7, and ICCP client protocol drivers.\n- The client web interface can be accessed by modern IOS, Android devices or by an HTML5 browser.\n- Please notice that OSHMI does NOT function by itself as a protocol gateway!\n\nSome Features:\n- Screen Viewer: full-graphics, vector based, lossless zoom (SVG). Amazing Vega charts engine. Scale great graphics from the cellphone to the video-wall.\n- Events Viewer: millisecond resolution; can operate with field time tags or local time tags; 2 stage acknowledgement/elimination; historical mode.\n- Tabular Viewer: point list shown filtered by substation and bay.\n- Alarms Viewer: displays alarms, with filters by substation and priority.\n- Trend Viewer: follow measurements plot in real time.\n- Curves Viewer: historical measurement plot.\n- Excel Worksheet w/ macros to manage configuration.\n- Recording of historical data to a SQLite database.\n- Integration with MS PowerBI and Tableau using OData and JSON.\n- Lua Scripting language for the server environment. Javascript language for screen (client side) scripts.\n- Automation functions can be implemented in LUA (e.g. substation restoration, tap control).\n- Distinct treatment for digital states, alarms and protection events. Range check for analog values. Calculation of points.\n- Dedicated Shell that can replace the standard Windows Shell and can restrict access only to the HMI functions.\n- Excellent Inkscape-based graphics editor to create SVG graphics with SCADA animations.\n- Use of Desktop Notifications for breaker opening by protection.\n- No need for any browser plugin!\n\nSoftware languages: english, ukranian and portuguese (BR). Can be easily translated to other languages (UTF-8 user interface).\n\nContact me here: https://www.linkedin.com/in/ricardo-olsen/\n\nFollow my blog: http://ricolsen1supervc.wordpress.com\n\nSee configuration tips on Youtube channel:\nhttps://www.youtube.com/channel/UCgpwj3TdP5jYrfr80_0eHYQ\n\nArticles:\n- Use cases: https://goo.gl/5fPSfp\n- Installation: https://goo.gl/DRgBzG\n\nSome graphics designed and obtained from Freepik https://www.freepik.com/\n\nThis is not a toy project! It's been actually used in dozens of substations up to 230kV level and in control centers.\n\nFeel free to ask any question.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friclolsen%2Foshmi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friclolsen%2Foshmi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friclolsen%2Foshmi/lists"}