Modbus Schema Toolkit
A set of Kotlin/Java libraries and tools to turn meaningless binary Modbus values (from Electricity meters, Heatpumps, Solar Inverters (PV) and SunSpec based devices) into meaningful values, make the modbus queries efficient and expose the values to MQTT (Home Assistant), InfluxDB and GraphQL.
https://github.com/nielsbasjes/modbus-schema
Category: Energy Systems
Sub Category: Building Energy Monitoring
Keywords
modbus modbus-library modbus-mapping
Keywords from Contributors
nifi-processor profile animations stress-test atoms geocoder domain-modeling contributing feature-toggle
Last synced: about 21 hours ago
JSON representation
Repository metadata
Making Modbus devices easier to use by using a standardized form of modbus mapping
- Host: GitHub
- URL: https://github.com/nielsbasjes/modbus-schema
- Owner: nielsbasjes
- License: apache-2.0
- Created: 2025-04-28T20:16:47.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-02-05T09:07:58.000Z (7 days ago)
- Last Synced: 2026-02-07T08:57:30.983Z (5 days ago)
- Topics: modbus, modbus-library, modbus-mapping
- Language: Kotlin
- Homepage: https://modbus.basjes.nl/
- Size: 746 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 6
- Releases: 15
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: .github/SECURITY.md
README.md
What is this?
This is a specification and a library that makes reading data from Modbus devices a lot easier.
Modbus Schema Toolkit
This is part of the Modbus Schema Toolkit I (Niels Basjes) created that makes retrieving data from Modbus based devices a lot easier.
I have split this into 4 projects:
The documentation can be found here https://modbus.basjes.nl/
All of this was created by Niels Basjes.
License
I'm publishing this under the Apache 2.0 license because I believe this can be part of making this planet a bit more in control of the energy consumption.
I also believe that making this open for all to use is the best way to achieve this.
But do not underestimate how much work went into this. From my first attempts to releasing the first version took me about 5 years of spending my spare time.
So what I want to see in return is a little bit of gratitude from the people who use this.
If you are a home user/hobbyist/small business then a simple star on the projects you use is enough for me. Seeing that people use and like the things I create is what I'm doing this for.
What also really helps are bug reports, dumps from real devices I do not have and discussions on things you think can be done better.
Despite there not being any obligation (because of the Apache 2.0 license); If you are a big corporation where my code really adds value to the products you make/sell then I would really appreciate it if you could do a small sponsor thing. Buy me lunch (€10), Buy me a game (€100) or what ever you think is the right way to say thank you for the work I have done.
Modbus Schema Toolkit
Copyright (C) 2019-2025 Niels Basjes
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Owner metadata
- Name: Niels Basjes
- Login: nielsbasjes
- Email:
- Kind: user
- Description: Principal IT Architect/Inventor at @bolcom . Committer and PMC for @apache Avro. Contributor for many of the @apache "BigData" projects.
- Website: https://niels.basjes.nl
- Location: Amstelveen, NL
- Twitter: nielsbasjes
- Company: @bolcom
- Icon url: https://avatars.githubusercontent.com/u/240096?u=e72745033072825b244f3eebef9dee5c0df95ce8&v=4
- Repositories: 116
- Last ynced at: 2026-01-13T23:00:04.056Z
- Profile URL: https://github.com/nielsbasjes
GitHub Events
Total
- Release event: 6
- Delete event: 59
- Pull request event: 99
- Fork event: 1
- Issues event: 15
- Watch event: 3
- Issue comment event: 3
- Public event: 1
- Push event: 109
- Create event: 74
Last Year
- Release event: 6
- Delete event: 59
- Pull request event: 99
- Fork event: 1
- Issues event: 15
- Watch event: 3
- Issue comment event: 3
- Public event: 1
- Push event: 109
- Create event: 74
Committers metadata
Last synced: 7 days ago
Total Commits: 265
Total Committers: 2
Avg Commits per committer: 132.5
Development Distribution Score (DDS): 0.392
Commits in past year: 265
Committers in past year: 2
Avg Commits per committer in past year: 132.5
Development Distribution Score (DDS) in past year: 0.392
| Name | Commits | |
|---|---|---|
| Niels Basjes | n****s@b****l | 161 |
| renovate[bot] | 2****] | 104 |
Committer domains:
- basjes.nl: 1
Issue and Pull Request metadata
Last synced: 5 days ago
Total issues: 17
Total pull requests: 104
Average time to close issues: 3 days
Average time to close pull requests: 1 day
Total issue authors: 2
Total pull request authors: 1
Average comments per issue: 0.12
Average comments per pull request: 0.03
Merged pull request: 77
Bot issues: 2
Bot pull requests: 104
Past year issues: 17
Past year pull requests: 104
Past year average time to close issues: 3 days
Past year average time to close pull requests: 1 day
Past year issue authors: 2
Past year pull request authors: 1
Past year average comments per issue: 0.12
Past year average comments per pull request: 0.03
Past year merged pull request: 77
Past year bot issues: 2
Past year bot pull requests: 104
Top Issue Authors
- nielsbasjes (15)
- renovate[bot] (2)
Top Pull Request Authors
- renovate[bot] (104)
Top Issue Labels
- enhancement (7)
- Wait for external dependencies (5)
Top Pull Request Labels
- maven-build-plugins (31)
- testing (8)
- logging (3)
Package metadata
- Total packages: 11
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 174
repo1.maven.org: nl.basjes.modbus:modbus-schema-device
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl/modbus-schema-device
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-schema-device/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:30.460Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Average: 42.304%
- Dependent packages count: 49.787%
repo1.maven.org: nl.basjes.modbus:modbus-schema-maven-plugin
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-schema-maven-plugin/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:40.397Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Average: 42.304%
- Dependent packages count: 49.787%
repo1.maven.org: nl.basjes.modbus:modbus-api
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-api/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:45:06.318Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Average: 42.304%
- Dependent packages count: 49.787%
repo1.maven.org: nl.basjes.modbus:modbus-api-parent
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-api-parent/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:54.172Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Average: 42.304%
- Dependent packages count: 49.787%
repo1.maven.org: nl.basjes.modbus:modbus-schema-parent
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-schema-parent/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:15.966Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Average: 42.304%
- Dependent packages count: 49.787%
repo1.maven.org: nl.basjes.modbus:modbus-schema-bom
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-schema-bom/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:32.227Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Average: 42.304%
- Dependent packages count: 49.787%
repo1.maven.org: nl.basjes.modbus:modbus-api-digitalpetri
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-api-digitalpetri/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:43:20.526Z (7 days ago)
- Versions: 14
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Dependent packages count: 49.787%
- Average: 50.702%
- Stargazers count: 58.938%
- Forks count: 59.263%
repo1.maven.org: nl.basjes.modbus:modbus-api-testing
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-api-testing/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:44:33.415Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Dependent packages count: 49.787%
- Average: 50.702%
- Stargazers count: 58.938%
- Forks count: 59.263%
repo1.maven.org: nl.basjes.modbus:modbus-api-plc4j
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-api-plc4j/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:45:34.515Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Dependent packages count: 49.787%
- Average: 50.702%
- Stargazers count: 58.938%
- Forks count: 59.263%
repo1.maven.org: nl.basjes.modbus:modbus-schema-reference
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-schema-reference/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:35.537Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Dependent packages count: 49.787%
- Average: 50.702%
- Stargazers count: 58.938%
- Forks count: 59.263%
repo1.maven.org: nl.basjes.modbus:modbus-api-j2mod
The Modbus Schema Toolkit makes retrieving data from Modbus based devices a lot easier.
- Homepage: https://modbus.basjes.nl
- Documentation: https://appdoc.app/artifact/nl.basjes.modbus/modbus-api-j2mod/
- Licenses: Apache License, Version 2.0
- Latest release: 0.14.0 (published 7 months ago)
- Last Synced: 2026-02-05T03:42:47.836Z (7 days ago)
- Versions: 16
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.821%
- Dependent packages count: 49.787%
- Average: 50.702%
- Stargazers count: 58.938%
- Forks count: 59.263%
Dependencies
- actions/cache 5a3ec84eff668545956fd18022155c47e93e2684 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/setup-java c5195efecf7bdfc987ee8bae7a71cb8b11521c00 composite
- codecov/codecov-action ad3126e916f78f00edff4ed0317cf185271ccc2d composite
- org.apache.logging.log4j:log4j-api
- org.jetbrains.kotlin:kotlin-stdlib
- org.apache.logging.log4j:log4j-core test
- org.jetbrains.kotlin:kotlin-test-junit5 test
- com.ghgande:j2mod
- nl.basjes.modbus:modbus-api ${project.version}
- org.jetbrains.kotlin:kotlin-stdlib
- nl.basjes.modbus:modbus-api-testing ${project.version} test
- org.apache.logging.log4j:log4j-core test
- org.apache.logging.log4j:log4j-slf4j2-impl test
- org.jetbrains.kotlin:kotlin-test-junit5 test
- nl.basjes.modbus:modbus-api ${project.version}
- org.apache.plc4x:plc4j-driver-modbus
- org.jetbrains.kotlin:kotlin-stdlib
- nl.basjes.modbus:modbus-api-testing ${project.version} test
- org.apache.logging.log4j:log4j-core test
- org.apache.logging.log4j:log4j-slf4j2-impl test
- org.jetbrains.kotlin:kotlin-test-junit5 test
- nl.basjes.modbus:modbus-api ${project.version}
- org.jetbrains.kotlin:kotlin-stdlib
- org.apache.logging.log4j:log4j-core test
- org.jetbrains.kotlin:kotlin-test-junit5 test
- com.charleskorn.kaml:kaml-jvm 0.77.1
- nl.basjes.modbus:modbus-api ${project.version}
- org.antlr:antlr4-runtime
- org.apache.logging.log4j:log4j-api
- org.jetbrains.kotlin:kotlin-stdlib
- nl.basjes.modbus:modbus-api-j2mod ${project.version} test
- nl.basjes.modbus:modbus-api-plc4j ${project.version} test
- nl.basjes.modbus:modbus-schema-reference ${project.version} test
- org.apache.logging.log4j:log4j-slf4j2-impl test
- org.jetbrains.kotlin:kotlin-test-junit5 test
- org.junit.jupiter:junit-jupiter-params test
- org.apache.maven.plugin-tools:maven-plugin-annotations 3.15.1 provided
- org.apache.maven:maven-plugin-api 3.9.9 provided
- org.apache.maven:maven-project 2.2.1 provided
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core
- org.apache.logging.log4j:log4j-slf4j2-impl
- org.freemarker:freemarker-gae 2.3.34
- org.jetbrains.kotlin:kotlin-test-junit5 test
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.junit.jupiter:junit-jupiter-engine @junit5.version@ test
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.junit.jupiter:junit-jupiter-engine @junit5.version@ test
- nl.basjes.modbus:modbus-api-plc4j compile
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.junit.jupiter:junit-jupiter-engine @junit5.version@ test
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.jetbrains.kotlin:kotlin-test-junit5 @kotlin.version@ test
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.jetbrains.kotlin:kotlin-test-junit5 @kotlin.version@ test
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.jetbrains.kotlin:kotlin-test-junit5 @kotlin.version@ test
- nl.basjes.modbus:modbus-api-plc4j compile
- nl.basjes.modbus:modbus-schema-device
- org.apache.logging.log4j:log4j-core 2.24.3
- org.jetbrains.kotlin:kotlin-test-junit5 @kotlin.version@ test
- org.jetbrains.kotlin:kotlin-stdlib 2.1.0
- com.digitalpetri.modbus:modbus provided
- nl.basjes.modbus:modbus-api ${project.version}
- org.jetbrains.kotlin:kotlin-stdlib
- com.digitalpetri.modbus:modbus-tcp test
- nl.basjes.modbus:modbus-api-testing ${project.version} test
- org.apache.logging.log4j:log4j-core test
- org.apache.logging.log4j:log4j-slf4j2-impl test
- org.jetbrains.kotlin:kotlin-test-junit5 test
Score: -Infinity