{"id":20089,"name":"ModBus Measurement Daemon","description":"A daemon for collecting measurement data from smart meters and grid inverters over modbus.","url":"https://github.com/volkszaehler/mbmd","last_synced_at":"2026-04-12T04:30:30.333Z","repository":{"id":38375395,"uuid":"189631891","full_name":"volkszaehler/mbmd","owner":"volkszaehler","description":"ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters","archived":false,"fork":false,"pushed_at":"2026-01-26T04:04:07.000Z","size":7243,"stargazers_count":275,"open_issues_count":52,"forks_count":92,"subscribers_count":19,"default_branch":"master","last_synced_at":"2026-01-28T20:59:43.652Z","etag":null,"topics":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/volkszaehler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2019-05-31T17:17:13.000Z","updated_at":"2026-01-28T15:14:23.000Z","dependencies_parsed_at":"2023-09-21T19:22:18.035Z","dependency_job_id":"5b8654ba-0ebf-4c87-ba12-3a5ac09e0708","html_url":"https://github.com/volkszaehler/mbmd","commit_stats":{"total_commits":515,"total_committers":34,"mean_commits":"15.147058823529411","dds":0.3864077669902912,"last_synced_commit":"d50c56af82d25215afa785b4c411face04c97373"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/volkszaehler/mbmd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/sbom","scorecard":{"id":228856,"data":{"date":"2025-08-04","repo":{"name":"github.com/volkszaehler/mbmd","commit":"499ae856f44e511b236660d9dce0021f758fc64e"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3.5,"checks":[{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 17/29 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_docker.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4","Warn: containerImage not pinned by hash: Dockerfile:25: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.13 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699","Warn: release artifact 0.13 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T04:24:53.673Z","repository_id":38375395,"created_at":"2025-08-17T04:24:53.674Z","updated_at":"2025-08-17T04:24:53.674Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30793234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-20T22:51:33.771Z","status":"online","status_checked_at":"2026-03-21T02:00:07.962Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"}},"owner":{"login":"volkszaehler","name":"volkszaehler.org project","uuid":"340617","kind":"organization","description":"Open Source Smart Metering platform","email":null,"website":"https://volkszaehler.org","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/340617?v=4","repositories_count":7,"last_synced_at":"2024-03-25T23:33:38.115Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/volkszaehler","funding_links":[],"total_stars":635,"followers":33,"following":0,"created_at":"2022-11-02T21:35:24.292Z","updated_at":"2024-03-25T23:33:38.313Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler/repositories"},"packages":[{"id":3598479,"name":"github.com/volkszaehler/mbmd","ecosystem":"go","description":"","homepage":"https://github.com/volkszaehler/mbmd","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/volkszaehler/mbmd","keywords_array":[],"namespace":"github.com/volkszaehler","versions_count":13,"first_release_published_at":"2022-09-16T21:52:21.000Z","latest_release_published_at":"2023-12-15T09:15:49.000Z","latest_release_number":"v0.0.0-20231215091549-af16b1f597b9","last_synced_at":"2026-01-01T03:02:21.192Z","created_at":"2022-04-11T05:58:06.498Z","updated_at":"2026-01-01T03:02:21.192Z","registry_url":"https://pkg.go.dev/github.com/volkszaehler/mbmd","install_command":"go get github.com/volkszaehler/mbmd","documentation_url":"https://pkg.go.dev/github.com/volkszaehler/mbmd#section-documentation","metadata":{},"repo_metadata":{"id":38375395,"uuid":"189631891","full_name":"volkszaehler/mbmd","owner":"volkszaehler","description":"ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters","archived":false,"fork":false,"pushed_at":"2025-08-08T16:10:51.000Z","size":7025,"stargazers_count":272,"open_issues_count":55,"forks_count":94,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-12-06T14:30:13.551Z","etag":null,"topics":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/volkszaehler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2019-05-31T17:17:13.000Z","updated_at":"2025-12-04T05:34:22.000Z","dependencies_parsed_at":"2023-09-21T19:22:18.035Z","dependency_job_id":"dee0fe69-fe36-4649-b63b-8fe6a14c873c","html_url":"https://github.com/volkszaehler/mbmd","commit_stats":{"total_commits":515,"total_committers":34,"mean_commits":"15.147058823529411","dds":0.3864077669902912,"last_synced_commit":"d50c56af82d25215afa785b4c411face04c97373"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/volkszaehler/mbmd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/sbom","scorecard":{"id":228856,"data":{"date":"2025-08-04","repo":{"name":"github.com/volkszaehler/mbmd","commit":"499ae856f44e511b236660d9dce0021f758fc64e"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":3.5,"checks":[{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 17/29 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_docker.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docker.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/volkszaehler/mbmd/publish_docker.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4","Warn: containerImage not pinned by hash: Dockerfile:25: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.13 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 not signed: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699","Warn: release artifact 0.13 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29487586","Warn: release artifact 0.12 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/29268234","Warn: release artifact 0.10 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25915554","Warn: release artifact 0.9.3 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25672034","Warn: release artifact 0.9.2 does not have provenance: https://api.github.com/repos/volkszaehler/mbmd/releases/25178699"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T04:24:53.673Z","repository_id":38375395,"created_at":"2025-08-17T04:24:53.674Z","updated_at":"2025-08-17T04:24:53.674Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27988925,"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","status":"online","status_checked_at":"2025-12-23T02:00:07.087Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"volkszaehler","name":"volkszaehler.org project","uuid":"340617","kind":"organization","description":"Open Source Smart Metering platform","email":null,"website":"https://volkszaehler.org","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/340617?v=4","repositories_count":7,"last_synced_at":"2024-03-25T23:33:38.115Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/volkszaehler","funding_links":[],"total_stars":635,"followers":33,"following":0,"created_at":"2022-11-02T21:35:24.292Z","updated_at":"2024-03-25T23:33:38.313Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volkszaehler/repositories"},"tags":[{"name":"0.13","sha":"fa6b574a16c002b9d3ec6133c4b32efdd7aaac0c","kind":"commit","published_at":"2020-08-09T13:40:00.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.13","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.13/manifests"},{"name":"0.12","sha":"0d6f45f547fd446ef053e5810fbc36c0890dcbdc","kind":"commit","published_at":"2020-08-04T11:43:37.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.12","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.12/manifests"},{"name":"0.11","sha":"122815825570a4e5ca0157b72a4f8607299fb900","kind":"commit","published_at":"2020-08-04T05:42:14.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.11","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.11/manifests"},{"name":"0.10","sha":"e83718d438c1b5725248987aefe68ecee308db3d","kind":"commit","published_at":"2020-04-27T07:18:55.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.10","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.10/manifests"},{"name":"0.9.3","sha":"e83718d438c1b5725248987aefe68ecee308db3d","kind":"commit","published_at":"2020-04-27T07:18:55.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9.3","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.3/manifests"},{"name":"0.4","sha":"b0d80a707fc815c660a87bdf5a1457fb467adc01","kind":"commit","published_at":"2020-04-16T16:15:57.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.4","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.4/manifests"},{"name":"0.9.1","sha":"835d0dc859c305b4d9338c61ecaa69073c238405","kind":"commit","published_at":"2020-04-03T16:05:12.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9.1","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.1/manifests"},{"name":"0.9.2","sha":"5f7cb0654aef56092711b3a06bbf4a7fbfdb185c","kind":"commit","published_at":"2020-04-03T16:03:23.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9.2","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9.2/manifests"},{"name":"0.2","sha":"b6745537473c024ccc393292907f9ef640e66a83","kind":"commit","published_at":"2020-04-03T11:38:18.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.2","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.2/manifests"},{"name":"0.1","sha":"a56cca527221110106fa8348264a5c0b86b863ec","kind":"commit","published_at":"2020-04-02T09:42:57.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.1","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.1/manifests"},{"name":"0.9","sha":"510de6176078a240f17068a041c09c1ead0eabfa","kind":"commit","published_at":"2020-03-23T11:34:45.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.9","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.9/manifests"},{"name":"0.8","sha":"9418bd4765366af5bc78880b90ca2ee2048442c6","kind":"commit","published_at":"2020-01-02T10:01:35.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8/manifests"},{"name":"0.8-alpha.11","sha":"7150f4955e186b33409db0207f7c3cdb0aae20c9","kind":"commit","published_at":"2019-12-25T14:19:42.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.11","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.11/manifests"},{"name":"0.8-alpha.9","sha":"c16fff20e68eaccd3f23282f2fd25c5cd2bc771e","kind":"commit","published_at":"2019-12-25T12:52:45.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.9","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.9/manifests"},{"name":"origin","sha":"3b2a70a5024d290cc766cc9fda86faef29cb2e33","kind":"commit","published_at":"2019-08-26T06:48:00.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/origin","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/origin","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@origin","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/origin","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/origin/manifests"},{"name":"0.8-alpha.7","sha":"f9a33be1d8f950b22c688e931a75926db8930174","kind":"commit","published_at":"2019-08-18T13:22:10.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.7","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.7/manifests"},{"name":"0.8-alpha.8","sha":"7b6dca1e1851af8afc0058b90455ebeaef7e5b69","kind":"commit","published_at":"2019-08-17T14:23:45.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.8","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.8/manifests"},{"name":"0.8-alpha.6","sha":"77fbfb5b2d85ff19bf62c4e8b0e9ef21289b9cfa","kind":"commit","published_at":"2019-08-12T07:48:41.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.6","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.6/manifests"},{"name":"0.8-alpha.5","sha":"7576add5d7a1ad5f7003cfd64589574357e705ef","kind":"commit","published_at":"2019-08-06T06:57:25.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.5","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.5/manifests"},{"name":"0.8-alpha.4","sha":"7576add5d7a1ad5f7003cfd64589574357e705ef","kind":"commit","published_at":"2019-08-06T06:57:25.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.4","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.4/manifests"},{"name":"0.8-alpha.3","sha":"2c82c410821285da8b3056f3c5b6ba0386198495","kind":"commit","published_at":"2019-07-31T20:06:52.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.3","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.3/manifests"},{"name":"0.8-alpha.2","sha":"84a1407f1f626f8d2778ad525d7e4cd644509421","kind":"commit","published_at":"2019-07-29T20:29:57.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.2","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.2/manifests"},{"name":"0.8-alpha.1","sha":"8c523986e9b0bc89a26d8b406032ddb7b9af2af2","kind":"commit","published_at":"2019-07-29T20:09:22.000Z","download_url":"https://codeload.github.com/volkszaehler/mbmd/tar.gz/0.8-alpha.1","html_url":"https://github.com/volkszaehler/mbmd/releases/tag/0.8-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/volkszaehler/mbmd@0.8-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/tags/0.8-alpha.1/manifests"}]},"repo_metadata_updated_at":"2025-12-26T22:01:47.569Z","dependent_packages_count":4,"downloads":null,"downloads_period":null,"dependent_repos_count":18,"rankings":{"downloads":null,"dependent_repos_count":1.2884063143217581,"dependent_packages_count":2.5363934453429455,"stargazers_count":3.8285811508982186,"forks_count":3.171658429445766,"docker_downloads_count":0.7556769138835403,"average":2.316143250778446},"purl":"pkg:golang/github.com/volkszaehler/mbmd","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/volkszaehler/mbmd","docker_dependents_count":5,"docker_downloads_count":363251,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/volkszaehler/mbmd","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/volkszaehler/mbmd/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-12-05T14:06:15.675Z","issues_count":139,"pull_requests_count":244,"avg_time_to_close_issue":4369182.958333333,"avg_time_to_close_pull_request":3056234.9295154186,"issues_closed_count":96,"pull_requests_closed_count":227,"pull_request_authors_count":44,"issue_authors_count":90,"avg_comments_per_issue":3.7985611510791366,"avg_comments_per_pull_request":0.9713114754098361,"merged_pull_requests_count":186,"bot_issues_count":3,"bot_pull_requests_count":51,"past_year_issues_count":4,"past_year_pull_requests_count":20,"past_year_avg_time_to_close_issue":181765.33333333334,"past_year_avg_time_to_close_pull_request":892876.3571428572,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":14,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":2.8,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":12,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fvolkszaehler%2Fmbmd/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2021119,"maintainers_count":0,"namespaces_count":759214,"keywords_count":112009,"github":"golang","metadata":{"funded_packages_count":52874},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-01-02T07:20:16.506Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1254103,"full_name":"volkszaehler/mbmd","default_branch":"master","total_commits":524,"total_committers":36,"total_bot_commits":30,"total_bot_committers":2,"mean_commits":14.555555555555555,"dds":0.3950381679389313,"past_year_total_commits":9,"past_year_total_committers":5,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.8,"past_year_dds":0.5555555555555556,"last_synced_at":"2025-12-15T11:22:19.604Z","last_synced_commit":"499ae856f44e511b236660d9dce0021f758fc64e","created_at":"2023-03-27T10:58:23.496Z","updated_at":"2025-12-15T11:21:10.630Z","committers":[{"name":"andig","email":"cpuidle@gmx.de","login":"andig","count":317},{"name":"Mathias Dalheimer","email":"md@gonium.net","login":"gonium","count":127},{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":19},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":11},{"name":"Sebastian Chrostek","email":"sebastian@chrostek.net","login":"chrostek","count":5},{"name":"guido4096","email":"guido@ngjansen.be","login":"guido4096","count":4},{"name":"Alexander Klauer","email":"Alexander.Klauer@itwm.fraunhofer.de","login":"TheCount","count":3},{"name":"Alex","email":"6953309+isarrider","login":"isarrider","count":2},{"name":"tobima","email":"mail@tobima.de","login":"tobima","count":2},{"name":"sirtet","email":"toro@kanuschule.ch","login":"sirtet","count":2},{"name":"premultiply","email":"4681172+premultiply","login":"premultiply","count":2},{"name":"beldeczki","email":"71642341+beldeczki","login":"beldeczki","count":2},{"name":"Tobias Müller","email":"Tobias_Mueller@twam.info","login":"twam","count":2},{"name":"Jelle Victoor","email":"victoor.jelle@gmail.com","login":"jellevictoor","count":2},{"name":"Rainer Poisel","email":"rainer.poisel@gmail.com","login":"rpoisel","count":2},{"name":"Richie B2B","email":"github@vdberg.org","login":"RichieB2B","count":2},{"name":"Andre G","email":"astrakid","login":"astrakid","count":1},{"name":"Andreas Linde","email":"TheRealKerni","login":"TheRealKerni","count":1},{"name":"Andreas Antes","email":"andreas.antes@gmx.de","login":null,"count":1},{"name":"sicheste","email":"sicheste","login":"sicheste","count":1},{"name":"meyerd","email":"meyerd@mytum.de","login":"meyerd","count":1},{"name":"korpa","email":"korpa","login":"korpa","count":1},{"name":"kiezematze","email":"matthias.koch@algorithmic.de","login":"kiezematze","count":1},{"name":"bilbolodz","email":"bilbo@lodz.pl","login":"bilbolodz","count":1},{"name":"bbiegun","email":"bartosz.biegun@gmail.com","login":"bbiegun","count":1},{"name":"air-ii","email":"wbarski@gmail.com","login":"air-ii","count":1},{"name":"Oleksandr Chykysh","email":"magnus.magus@gmail.com","login":"ochykysh","count":1},{"name":"Michael Panzer","email":"panzer.michael@gmail.com","login":"panzerdev","count":1},{"name":"Kristian Mide","email":"fas@mide.dk","login":"fasmide","count":1},{"name":"Karsten Hinz","email":"kartenkarsten@ichsagnurweb.de","login":"kartenkarsten","count":1},{"name":"Karl Szmutny","email":"shadow@privy.de","login":"shadow974","count":1},{"name":"Hans Cornelis","email":"hacornelis@gmail.com","login":"hacor","count":1},{"name":"Floris Van der krieken","email":"floris@vanderkrieken.me","login":"florisvdk","count":1},{"name":"Dirk Riemekasten","email":"dirk@riemekasten.com","login":"driemekasten","count":1},{"name":"Christian Rank","email":"35734454+kirk-loeten","login":"kirk-loeten","count":1},{"name":"Benjamin Larsson","email":"banan@ludd.ltu.se","login":"merbanan","count":1}],"past_year_committers":[{"name":"guido4096","email":"guido@ngjansen.be","login":"guido4096","count":4},{"name":"Sebastian Chrostek","email":"sebastian@chrostek.net","login":"chrostek","count":2},{"name":"andig","email":"cpuidle@gmx.de","login":"andig","count":1},{"name":"air-ii","email":"wbarski@gmail.com","login":"air-ii","count":1},{"name":"Alex","email":"6953309+isarrider","login":"isarrider","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-12-30T00:00:22.336Z","repositories_count":6143567,"commits_count":930869536,"contributors_count":36230546,"owners_count":1129991,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"volkszaehler/mbmd","html_url":"https://github.com/volkszaehler/mbmd","last_synced_at":"2025-12-30T20:00:26.610Z","status":null,"issues_count":139,"pull_requests_count":245,"avg_time_to_close_issue":4369182.958333333,"avg_time_to_close_pull_request":3056234.9295154186,"issues_closed_count":96,"pull_requests_closed_count":227,"pull_request_authors_count":44,"issue_authors_count":90,"avg_comments_per_issue":3.7985611510791366,"avg_comments_per_pull_request":0.9673469387755103,"merged_pull_requests_count":186,"bot_issues_count":3,"bot_pull_requests_count":51,"past_year_issues_count":4,"past_year_pull_requests_count":21,"past_year_avg_time_to_close_issue":181765.33333333334,"past_year_avg_time_to_close_pull_request":892876.3571428572,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":14,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":2.6666666666666665,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":12,"created_at":"2023-05-09T10:37:56.056Z","updated_at":"2025-12-30T20:00:26.626Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/volkszaehler%2Fmbmd/issues","issue_labels_count":{"question":20,"enhancement":20,"bug":16,"help wanted":4,"wontfix":2,"invalid":1},"pull_request_labels_count":{"dependencies":51,"enhancement":43,"bug":15,"help wanted":1},"issue_author_associations_count":{"NONE":94,"CONTRIBUTOR":45},"pull_request_author_associations_count":{"CONTRIBUTOR":219,"NONE":26},"issue_authors":{"bilbolodz":11,"andig":9,"bikeymouse":5,"isarrider":4,"wing84":3,"bbiegun":3,"dependabot-preview[bot]":3,"jarau-de":3,"sirtet":3,"mkmt":3,"ChristianSteffens":2,"wisekki":2,"kereis":2,"stepsolar":2,"RichieB2B":2,"mdk2412":2,"chrissooo":2,"TRIROG":2,"sicheste":2,"agerhard0":2,"thomo":2,"klauskn":2,"InternetPersonality":1,"kirk-loeten":1,"twam":1,"FollowTheWizard":1,"Markus2801A":1,"Chris591":1,"hoermaen":1,"hyperbart":1,"zulautholger":1,"iz8mbw":1,"frezeen":1,"krawcu183":1,"kiezematze":1,"korpa":1,"BenGig":1,"chrostek":1,"just-grizzle":1,"matthijsberg":1,"Dennis572687":1,"alexalex89":1,"dosordie":1,"dimagoltsman":1,"Muckiy":1,"craigcurtin-dev":1,"MartinJ-de":1,"maxdd":1,"astrakid":1,"schenlap":1,"Fowow":1,"crazycusti":1,"Jambola77":1,"nicx":1,"bruma59":1,"StefanSchoof":1,"andreaslink-de":1,"kingofthering":1,"Gajusbonus":1,"fjgalesloot":1,"Flat-Mac":1,"daemonenstall":1,"BMOD89":1,"W-B":1,"dproetel":1,"jellevictoor":1,"SebuZet":1,"andyrichter":1,"hrpv":1,"DocZoid":1,"cnovak":1,"xsven80x":1,"weissdorn":1,"jkmssoft":1,"hacor":1,"capu-bia":1,"kugelkopf123":1,"VolkerK62":1,"kartenkarsten":1,"gigipawel":1,"speeskeek":1,"fasmide":1,"archi":1,"air-ii":1,"mottobug":1,"helix0712":1,"atryda22":1,"Macrisu":1,"DerTod2":1,"grmat":1},"pull_request_authors":{"andig":115,"dependabot-preview[bot]":26,"dependabot[bot]":25,"guido4096":7,"isarrider":6,"BMOD89":5,"beldeczki":4,"twam":4,"RichieB2B":3,"premultiply":3,"chrostek":3,"ambanmba":2,"bilbolodz":2,"air-ii":2,"kiezematze":2,"kingofthering":2,"rpoisel":2,"kartenkarsten":2,"sirtet":2,"sicheste":2,"kereis":2,"tobima":2,"pdcleyn":1,"korpa":1,"shadow974":1,"panzerdev":1,"hacor":1,"fasmide":1,"Helldin":1,"SchumacherFM":1,"thomo":1,"SirkoVZ":1,"ochykysh":1,"servo77":1,"kirk-loeten":1,"meyerd":1,"DerAndereAndi":1,"machv":1,"jellevictoor":1,"RatkoR":1,"bbiegun":1,"devZer0":1,"astrakid":1,"merbanan":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-01-01T00:00:08.101Z","repositories_count":12540588,"issues_count":35627486,"pull_requests_count":117032129,"authors_count":11079328,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":3,"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":14,"NONE":7},"past_year_issue_authors":{"air-ii":1,"kingofthering":1,"VolkerK62":1,"weissdorn":1},"past_year_pull_request_authors":{"guido4096":7,"isarrider":3,"chrostek":3,"kingofthering":2,"air-ii":2,"ambanmba":2,"Helldin":1,"premultiply":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"IssuesEvent":11,"WatchEvent":30,"IssueCommentEvent":70,"PushEvent":15,"PullRequestReviewEvent":23,"PullRequestReviewCommentEvent":19,"PullRequestEvent":31,"ForkEvent":9,"CreateEvent":1},"last_year":{"IssuesEvent":9,"WatchEvent":20,"IssueCommentEvent":61,"PushEvent":12,"PullRequestReviewCommentEvent":10,"PullRequestReviewEvent":16,"PullRequestEvent":25,"ForkEvent":8,"CreateEvent":1}},"keywords":["golang","grid-inverters","modbus","modbus-meters","openhab","smart-meter","sunspec","volkszaehler"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build.yml","sha":null,"kind":"manifest","created_at":"2023-01-30T18:46:05.110Z","updated_at":"2023-01-30T18:46:05.110Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/.github/workflows/build.yml","dependencies":[{"id":7253136635,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7253136636,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7253136637,"package_name":"golangci/golangci-lint-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-30T18:46:05.382Z","updated_at":"2023-01-30T18:46:05.382Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/Dockerfile","dependencies":[{"id":7253138786,"package_name":"golang","ecosystem":"docker","requirements":"1.18-alpine","direct":true,"kind":"build","optional":false},{"id":7253138789,"package_name":"alpine","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"go","filepath":"go.mod","sha":null,"kind":"manifest","created_at":"2023-01-30T18:46:05.441Z","updated_at":"2023-01-30T18:46:05.441Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/go.mod","dependencies":[{"id":7253139863,"package_name":"github.com/andig/gosunspec","ecosystem":"go","requirements":"v0.0.0-20211108155140-af2e73b86e71","direct":true,"kind":"runtime","optional":false},{"id":7253139864,"package_name":"github.com/dmarkham/enumer","ecosystem":"go","requirements":"v1.5.6","direct":true,"kind":"runtime","optional":false},{"id":7253139865,"package_name":"github.com/eclipse/paho.mqtt.golang","ecosystem":"go","requirements":"v1.4.1","direct":true,"kind":"runtime","optional":false},{"id":7253139866,"package_name":"github.com/gorilla/handlers","ecosystem":"go","requirements":"v1.5.1","direct":true,"kind":"runtime","optional":false},{"id":7253139867,"package_name":"github.com/gorilla/mux","ecosystem":"go","requirements":"v1.8.0","direct":true,"kind":"runtime","optional":false},{"id":7253139868,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139869,"package_name":"github.com/grid-x/modbus","ecosystem":"go","requirements":"v0.0.0-20220829110112-006eee73392e","direct":true,"kind":"runtime","optional":false},{"id":7253139877,"package_name":"github.com/influxdata/influxdb-client-go","ecosystem":"go","requirements":"v1.4.0","direct":true,"kind":"runtime","optional":false},{"id":7253139878,"package_name":"github.com/spf13/cobra","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139879,"package_name":"github.com/spf13/pflag","ecosystem":"go","requirements":"v1.0.5","direct":true,"kind":"runtime","optional":false},{"id":7253139880,"package_name":"github.com/spf13/viper","ecosystem":"go","requirements":"v1.13.0","direct":true,"kind":"runtime","optional":false},{"id":7253139881,"package_name":"github.com/tcnksm/go-latest","ecosystem":"go","requirements":"v0.0.0-20170313132115-e3007ae9052e","direct":true,"kind":"runtime","optional":false},{"id":7253139882,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20230118134722-a68e582fa157","direct":true,"kind":"runtime","optional":false},{"id":7253139883,"package_name":"github.com/cpuguy83/go-md2man/v2","ecosystem":"go","requirements":"v2.0.2","direct":true,"kind":"runtime","optional":false},{"id":7253139884,"package_name":"github.com/deepmap/oapi-codegen","ecosystem":"go","requirements":"v1.11.0","direct":true,"kind":"runtime","optional":false},{"id":7253139885,"package_name":"github.com/felixge/httpsnoop","ecosystem":"go","requirements":"v1.0.3","direct":true,"kind":"runtime","optional":false},{"id":7253139886,"package_name":"github.com/fsnotify/fsnotify","ecosystem":"go","requirements":"v1.5.4","direct":true,"kind":"runtime","optional":false},{"id":7253139887,"package_name":"github.com/google/go-github","ecosystem":"go","requirements":"v17.0.0+incompatible","direct":true,"kind":"runtime","optional":false},{"id":7253139888,"package_name":"github.com/google/go-querystring","ecosystem":"go","requirements":"v1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139889,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.3.0","direct":true,"kind":"runtime","optional":false},{"id":7253139890,"package_name":"github.com/grid-x/serial","ecosystem":"go","requirements":"v0.0.0-20211107191517-583c7356b3aa","direct":true,"kind":"runtime","optional":false},{"id":7253139891,"package_name":"github.com/hashicorp/go-version","ecosystem":"go","requirements":"v1.6.0","direct":true,"kind":"runtime","optional":false},{"id":7253139892,"package_name":"github.com/hashicorp/hcl","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":7253139893,"package_name":"github.com/inconshreveable/mousetrap","ecosystem":"go","requirements":"v1.0.1","direct":true,"kind":"runtime","optional":false},{"id":7253139894,"package_name":"github.com/influxdata/line-protocol","ecosystem":"go","requirements":"v0.0.0-20210922203350-b1ad95c89adf","direct":true,"kind":"runtime","optional":false},{"id":7253139895,"package_name":"github.com/magiconair/properties","ecosystem":"go","requirements":"v1.8.6","direct":true,"kind":"runtime","optional":false},{"id":7253139896,"package_name":"github.com/mitchellh/mapstructure","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139897,"package_name":"github.com/pascaldekloe/name","ecosystem":"go","requirements":"v1.0.1","direct":true,"kind":"runtime","optional":false},{"id":7253139898,"package_name":"github.com/pelletier/go-toml","ecosystem":"go","requirements":"v1.9.5","direct":true,"kind":"runtime","optional":false},{"id":7253139899,"package_name":"github.com/pelletier/go-toml/v2","ecosystem":"go","requirements":"v2.0.5","direct":true,"kind":"runtime","optional":false},{"id":7253139900,"package_name":"github.com/pkg/errors","ecosystem":"go","requirements":"v0.9.1","direct":true,"kind":"runtime","optional":false},{"id":7253139901,"package_name":"github.com/russross/blackfriday/v2","ecosystem":"go","requirements":"v2.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139902,"package_name":"github.com/spf13/afero","ecosystem":"go","requirements":"v1.9.2","direct":true,"kind":"runtime","optional":false},{"id":7253139903,"package_name":"github.com/spf13/cast","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":7253139904,"package_name":"github.com/spf13/jwalterweatherman","ecosystem":"go","requirements":"v1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139905,"package_name":"github.com/subosito/gotenv","ecosystem":"go","requirements":"v1.4.1","direct":true,"kind":"runtime","optional":false},{"id":7253139906,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0","direct":true,"kind":"runtime","optional":false},{"id":7253139907,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139908,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20220819030929-7fc1605a5dde","direct":true,"kind":"runtime","optional":false},{"id":7253139909,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.1.0","direct":true,"kind":"runtime","optional":false},{"id":7253139910,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.4.0","direct":true,"kind":"runtime","optional":false},{"id":7253139911,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.2.0","direct":true,"kind":"runtime","optional":false},{"id":7253139912,"package_name":"gopkg.in/ini.v1","ecosystem":"go","requirements":"v1.67.0","direct":true,"kind":"runtime","optional":false},{"id":7253139913,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.4.0","direct":true,"kind":"runtime","optional":false},{"id":7253139914,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"go","filepath":"go.sum","sha":null,"kind":"lockfile","created_at":"2023-01-30T18:46:05.498Z","updated_at":"2023-01-30T18:46:05.498Z","repository_link":"https://github.com/volkszaehler/mbmd/blob/master/go.sum","dependencies":[{"id":7253140298,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.26.0","direct":false,"kind":"runtime","optional":false},{"id":7253140299,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.34.0","direct":false,"kind":"runtime","optional":false},{"id":7253140300,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.38.0","direct":false,"kind":"runtime","optional":false},{"id":7253140301,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.44.1","direct":false,"kind":"runtime","optional":false},{"id":7253140302,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.44.2","direct":false,"kind":"runtime","optional":false},{"id":7253140303,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.44.3","direct":false,"kind":"runtime","optional":false},{"id":7253140304,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.45.1","direct":false,"kind":"runtime","optional":false},{"id":7253140305,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.46.3","direct":false,"kind":"runtime","optional":false},{"id":7253140577,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.2","direct":false,"kind":"runtime","optional":false},{"id":7253140306,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.50.0","direct":false,"kind":"runtime","optional":false},{"id":7253140307,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.52.0","direct":false,"kind":"runtime","optional":false},{"id":7253140308,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.53.0","direct":false,"kind":"runtime","optional":false},{"id":7253140309,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.54.0","direct":false,"kind":"runtime","optional":false},{"id":7253140310,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.56.0","direct":false,"kind":"runtime","optional":false},{"id":7253140311,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.57.0","direct":false,"kind":"runtime","optional":false},{"id":7253140312,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.62.0","direct":false,"kind":"runtime","optional":false},{"id":7253140313,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.65.0","direct":false,"kind":"runtime","optional":false},{"id":7253140314,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.72.0","direct":false,"kind":"runtime","optional":false},{"id":7253140315,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.74.0","direct":false,"kind":"runtime","optional":false},{"id":7253140316,"package_name":"cloud.google.com/go","ecosystem":"go","requirements":"v0.75.0","direct":false,"kind":"runtime","optional":false},{"id":7253140317,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140318,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140319,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140320,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140321,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.7.0","direct":false,"kind":"runtime","optional":false},{"id":7253140322,"package_name":"cloud.google.com/go/bigquery","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140323,"package_name":"cloud.google.com/go/datastore","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140324,"package_name":"cloud.google.com/go/datastore","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140325,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140326,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140327,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140328,"package_name":"cloud.google.com/go/pubsub","ecosystem":"go","requirements":"v1.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140329,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140330,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140331,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.6.0","direct":false,"kind":"runtime","optional":false},{"id":7253140332,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140333,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.10.0","direct":false,"kind":"runtime","optional":false},{"id":7253140334,"package_name":"cloud.google.com/go/storage","ecosystem":"go","requirements":"v1.14.0","direct":false,"kind":"runtime","optional":false},{"id":7253140335,"package_name":"dmitri.shuralyov.com/gpu/mtl","ecosystem":"go","requirements":"v0.0.0-20190408044501-666a987793e9","direct":false,"kind":"runtime","optional":false},{"id":7253140336,"package_name":"github.com/BurntSushi/toml","ecosystem":"go","requirements":"v0.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140337,"package_name":"github.com/BurntSushi/xgb","ecosystem":"go","requirements":"v0.0.0-20160522181843-27f122750802","direct":false,"kind":"runtime","optional":false},{"id":7253140338,"package_name":"github.com/andig/gosunspec","ecosystem":"go","requirements":"v0.0.0-20211108155140-af2e73b86e71","direct":false,"kind":"runtime","optional":false},{"id":7253140339,"package_name":"github.com/census-instrumentation/opencensus-proto","ecosystem":"go","requirements":"v0.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140340,"package_name":"github.com/chzyer/logex","ecosystem":"go","requirements":"v1.1.10","direct":false,"kind":"runtime","optional":false},{"id":7253140341,"package_name":"github.com/chzyer/readline","ecosystem":"go","requirements":"v0.0.0-20180603132655-2972be24d48e","direct":false,"kind":"runtime","optional":false},{"id":7253140342,"package_name":"github.com/chzyer/test","ecosystem":"go","requirements":"v0.0.0-20180213035817-a1ea475d72b1","direct":false,"kind":"runtime","optional":false},{"id":7253140343,"package_name":"github.com/client9/misspell","ecosystem":"go","requirements":"v0.3.4","direct":false,"kind":"runtime","optional":false},{"id":7253140344,"package_name":"github.com/cncf/udpa/go","ecosystem":"go","requirements":"v0.0.0-20191209042840-269d4d468f6f","direct":false,"kind":"runtime","optional":false},{"id":7253140345,"package_name":"github.com/cncf/udpa/go","ecosystem":"go","requirements":"v0.0.0-20200629203442-efcf912fb354","direct":false,"kind":"runtime","optional":false},{"id":7253140346,"package_name":"github.com/cncf/udpa/go","ecosystem":"go","requirements":"v0.0.0-20201120205902-5459f2c99403","direct":false,"kind":"runtime","optional":false},{"id":7253140347,"package_name":"github.com/cpuguy83/go-md2man/v2","ecosystem":"go","requirements":"v2.0.2","direct":false,"kind":"runtime","optional":false},{"id":7253140348,"package_name":"github.com/creack/pty","ecosystem":"go","requirements":"v1.1.9","direct":false,"kind":"runtime","optional":false},{"id":7253140349,"package_name":"github.com/cyberdelia/templates","ecosystem":"go","requirements":"v0.0.0-20141128023046-ca7fffd4298c","direct":false,"kind":"runtime","optional":false},{"id":7253140350,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140351,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":7253140352,"package_name":"github.com/decred/dcrd/crypto/blake256","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140353,"package_name":"github.com/decred/dcrd/dcrec/secp256k1/v4","ecosystem":"go","requirements":"v4.0.0-20210816181553-5444fa50b93d","direct":false,"kind":"runtime","optional":false},{"id":7253140354,"package_name":"github.com/decred/dcrd/dcrec/secp256k1/v4","ecosystem":"go","requirements":"v4.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140355,"package_name":"github.com/deepmap/oapi-codegen","ecosystem":"go","requirements":"v1.3.6","direct":false,"kind":"runtime","optional":false},{"id":7253140356,"package_name":"github.com/deepmap/oapi-codegen","ecosystem":"go","requirements":"v1.11.0","direct":false,"kind":"runtime","optional":false},{"id":7253140357,"package_name":"github.com/dgrijalva/jwt-go","ecosystem":"go","requirements":"v3.2.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140358,"package_name":"github.com/dmarkham/enumer","ecosystem":"go","requirements":"v1.5.6","direct":false,"kind":"runtime","optional":false},{"id":7253140359,"package_name":"github.com/eclipse/paho.mqtt.golang","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140360,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.0","direct":false,"kind":"runtime","optional":false},{"id":7253140361,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.1-0.20191026205805-5f8ba28d4473","direct":false,"kind":"runtime","optional":false},{"id":7253140362,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.4","direct":false,"kind":"runtime","optional":false},{"id":7253140363,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.7","direct":false,"kind":"runtime","optional":false},{"id":7253140364,"package_name":"github.com/envoyproxy/go-control-plane","ecosystem":"go","requirements":"v0.9.9-0.20201210154907-fd9021fe5dad","direct":false,"kind":"runtime","optional":false},{"id":7253140365,"package_name":"github.com/envoyproxy/protoc-gen-validate","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140366,"package_name":"github.com/fatih/camelcase","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140367,"package_name":"github.com/felixge/httpsnoop","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140368,"package_name":"github.com/felixge/httpsnoop","ecosystem":"go","requirements":"v1.0.3","direct":false,"kind":"runtime","optional":false},{"id":7253140369,"package_name":"github.com/frankban/quicktest","ecosystem":"go","requirements":"v1.14.3","direct":false,"kind":"runtime","optional":false},{"id":7253140370,"package_name":"github.com/fsnotify/fsnotify","ecosystem":"go","requirements":"v1.5.4","direct":false,"kind":"runtime","optional":false},{"id":7253140371,"package_name":"github.com/getkin/kin-openapi","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140372,"package_name":"github.com/getkin/kin-openapi","ecosystem":"go","requirements":"v0.94.0","direct":false,"kind":"runtime","optional":false},{"id":7253140373,"package_name":"github.com/ghodss/yaml","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140374,"package_name":"github.com/gin-contrib/sse","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140375,"package_name":"github.com/gin-gonic/gin","ecosystem":"go","requirements":"v1.7.7","direct":false,"kind":"runtime","optional":false},{"id":7253140376,"package_name":"github.com/go-chi/chi","ecosystem":"go","requirements":"v4.0.2+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140377,"package_name":"github.com/go-chi/chi/v5","ecosystem":"go","requirements":"v5.0.7","direct":false,"kind":"runtime","optional":false},{"id":7253140378,"package_name":"github.com/go-gl/glfw","ecosystem":"go","requirements":"v0.0.0-20190409004039-e6da0acd62b1","direct":false,"kind":"runtime","optional":false},{"id":7253140379,"package_name":"github.com/go-gl/glfw/v3.3/glfw","ecosystem":"go","requirements":"v0.0.0-20191125211704-12ad95a8df72","direct":false,"kind":"runtime","optional":false},{"id":7253140380,"package_name":"github.com/go-gl/glfw/v3.3/glfw","ecosystem":"go","requirements":"v0.0.0-20200222043503-6f7a984d4dc4","direct":false,"kind":"runtime","optional":false},{"id":7253140381,"package_name":"github.com/go-openapi/jsonpointer","ecosystem":"go","requirements":"v0.19.5","direct":false,"kind":"runtime","optional":false},{"id":7253140382,"package_name":"github.com/go-openapi/swag","ecosystem":"go","requirements":"v0.19.5","direct":false,"kind":"runtime","optional":false},{"id":7253140383,"package_name":"github.com/go-openapi/swag","ecosystem":"go","requirements":"v0.21.1","direct":false,"kind":"runtime","optional":false},{"id":7253140384,"package_name":"github.com/go-playground/assert/v2","ecosystem":"go","requirements":"v2.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140385,"package_name":"github.com/go-playground/locales","ecosystem":"go","requirements":"v0.13.0","direct":false,"kind":"runtime","optional":false},{"id":7253140386,"package_name":"github.com/go-playground/locales","ecosystem":"go","requirements":"v0.14.0","direct":false,"kind":"runtime","optional":false},{"id":7253140387,"package_name":"github.com/go-playground/universal-translator","ecosystem":"go","requirements":"v0.17.0","direct":false,"kind":"runtime","optional":false},{"id":7253140388,"package_name":"github.com/go-playground/universal-translator","ecosystem":"go","requirements":"v0.18.0","direct":false,"kind":"runtime","optional":false},{"id":7253140389,"package_name":"github.com/go-playground/validator/v10","ecosystem":"go","requirements":"v10.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140390,"package_name":"github.com/go-playground/validator/v10","ecosystem":"go","requirements":"v10.11.0","direct":false,"kind":"runtime","optional":false},{"id":7253140391,"package_name":"github.com/goccy/go-json","ecosystem":"go","requirements":"v0.9.7","direct":false,"kind":"runtime","optional":false},{"id":7253140392,"package_name":"github.com/golang-jwt/jwt","ecosystem":"go","requirements":"v3.2.2+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140393,"package_name":"github.com/golang/glog","ecosystem":"go","requirements":"v0.0.0-20160126235308-23def4e6c14b","direct":false,"kind":"runtime","optional":false},{"id":7253140394,"package_name":"github.com/golang/groupcache","ecosystem":"go","requirements":"v0.0.0-20190702054246-869f871628b6","direct":false,"kind":"runtime","optional":false},{"id":7253140395,"package_name":"github.com/golang/groupcache","ecosystem":"go","requirements":"v0.0.0-20191227052852-215e87163ea7","direct":false,"kind":"runtime","optional":false},{"id":7253140396,"package_name":"github.com/golang/groupcache","ecosystem":"go","requirements":"v0.0.0-20200121045136-8c9f03a8e57e","direct":false,"kind":"runtime","optional":false},{"id":7253140397,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":7253140398,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140399,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140400,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140401,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140402,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.3","direct":false,"kind":"runtime","optional":false},{"id":7253140403,"package_name":"github.com/golang/mock","ecosystem":"go","requirements":"v1.4.4","direct":false,"kind":"runtime","optional":false},{"id":7253140404,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140405,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140406,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.2","direct":false,"kind":"runtime","optional":false},{"id":7253140407,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.3","direct":false,"kind":"runtime","optional":false},{"id":7253140408,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.4","direct":false,"kind":"runtime","optional":false},{"id":7253140409,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.3.5","direct":false,"kind":"runtime","optional":false},{"id":7253140410,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.1","direct":false,"kind":"runtime","optional":false},{"id":7253140411,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.1.0.20200221234624-67d41d38c208","direct":false,"kind":"runtime","optional":false},{"id":7253140412,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.2","direct":false,"kind":"runtime","optional":false},{"id":7253140414,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0-rc.4.0.20200313231945-b860323f09d0","direct":false,"kind":"runtime","optional":false},{"id":7253140415,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140416,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140417,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.2","direct":false,"kind":"runtime","optional":false},{"id":7253140419,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.4.3","direct":false,"kind":"runtime","optional":false},{"id":7253140420,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140422,"package_name":"github.com/golang/protobuf","ecosystem":"go","requirements":"v1.5.2","direct":false,"kind":"runtime","optional":false},{"id":7253140423,"package_name":"github.com/golangci/lint-1","ecosystem":"go","requirements":"v0.0.0-20181222135242-d2cdd8c08219","direct":false,"kind":"runtime","optional":false},{"id":7253140425,"package_name":"github.com/google/btree","ecosystem":"go","requirements":"v0.0.0-20180813153112-4030bb1f1f0c","direct":false,"kind":"runtime","optional":false},{"id":7253140426,"package_name":"github.com/google/btree","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140427,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140428,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140429,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140430,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140431,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140432,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140433,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140434,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.2","direct":false,"kind":"runtime","optional":false},{"id":7253140435,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.4","direct":false,"kind":"runtime","optional":false},{"id":7253140436,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.5","direct":false,"kind":"runtime","optional":false},{"id":7253140437,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.6","direct":false,"kind":"runtime","optional":false},{"id":7253140438,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.8","direct":false,"kind":"runtime","optional":false},{"id":7253140439,"package_name":"github.com/google/go-github","ecosystem":"go","requirements":"v17.0.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140440,"package_name":"github.com/google/go-querystring","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140441,"package_name":"github.com/google/gofuzz","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140442,"package_name":"github.com/google/martian","ecosystem":"go","requirements":"v2.1.0+incompatible","direct":false,"kind":"runtime","optional":false},{"id":7253140443,"package_name":"github.com/google/martian/v3","ecosystem":"go","requirements":"v3.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140444,"package_name":"github.com/google/martian/v3","ecosystem":"go","requirements":"v3.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140445,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20181206194817-3ea8567a2e57","direct":false,"kind":"runtime","optional":false},{"id":7253140446,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20190515194954-54271f7e092f","direct":false,"kind":"runtime","optional":false},{"id":7253140447,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20191218002539-d4f498aebedc","direct":false,"kind":"runtime","optional":false},{"id":7253140448,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200212024743-f11f1df84d12","direct":false,"kind":"runtime","optional":false},{"id":7253140449,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200229191704-1ebb73c60ed3","direct":false,"kind":"runtime","optional":false},{"id":7253140450,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200430221834-fc25d7d30c6d","direct":false,"kind":"runtime","optional":false},{"id":7253140451,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20200708004538-1a94d8640e99","direct":false,"kind":"runtime","optional":false},{"id":7253140452,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20201023163331-3e6fc7fc9c4c","direct":false,"kind":"runtime","optional":false},{"id":7253140453,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20201203190320-1bf35d6f28c2","direct":false,"kind":"runtime","optional":false},{"id":7253140454,"package_name":"github.com/google/pprof","ecosystem":"go","requirements":"v0.0.0-20201218002935-b9804c9f04c2","direct":false,"kind":"runtime","optional":false},{"id":7253140455,"package_name":"github.com/google/renameio","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140457,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.1.2","direct":false,"kind":"runtime","optional":false},{"id":7253140458,"package_name":"github.com/google/uuid","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140459,"package_name":"github.com/googleapis/gax-go/v2","ecosystem":"go","requirements":"v2.0.4","direct":false,"kind":"runtime","optional":false},{"id":7253140460,"package_name":"github.com/googleapis/gax-go/v2","ecosystem":"go","requirements":"v2.0.5","direct":false,"kind":"runtime","optional":false},{"id":7253140461,"package_name":"github.com/googleapis/google-cloud-go-testing","ecosystem":"go","requirements":"v0.0.0-20200911160855-bcd43fbb19e8","direct":false,"kind":"runtime","optional":false},{"id":7253140462,"package_name":"github.com/gorilla/handlers","ecosystem":"go","requirements":"v1.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140463,"package_name":"github.com/gorilla/mux","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140464,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.4.2","direct":false,"kind":"runtime","optional":false},{"id":7253140465,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140466,"package_name":"github.com/grid-x/modbus","ecosystem":"go","requirements":"v0.0.0-20210714071042-7af2b65ec03b","direct":false,"kind":"runtime","optional":false},{"id":7253140467,"package_name":"github.com/grid-x/modbus","ecosystem":"go","requirements":"v0.0.0-20220829110112-006eee73392e","direct":false,"kind":"runtime","optional":false},{"id":7253140468,"package_name":"github.com/grid-x/serial","ecosystem":"go","requirements":"v0.0.0-20191104121038-e24bc9bf6f08","direct":false,"kind":"runtime","optional":false},{"id":7253140469,"package_name":"github.com/grid-x/serial","ecosystem":"go","requirements":"v0.0.0-20211107191517-583c7356b3aa","direct":false,"kind":"runtime","optional":false},{"id":7253140470,"package_name":"github.com/hashicorp/go-version","ecosystem":"go","requirements":"v1.6.0","direct":false,"kind":"runtime","optional":false},{"id":7253140471,"package_name":"github.com/hashicorp/golang-lru","ecosystem":"go","requirements":"v0.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140472,"package_name":"github.com/hashicorp/golang-lru","ecosystem":"go","requirements":"v0.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140473,"package_name":"github.com/hashicorp/hcl","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140474,"package_name":"github.com/ianlancetaylor/demangle","ecosystem":"go","requirements":"v0.0.0-20181102032728-5e5cf60278f6","direct":false,"kind":"runtime","optional":false},{"id":7253140475,"package_name":"github.com/ianlancetaylor/demangle","ecosystem":"go","requirements":"v0.0.0-20200824232613-28f6c0f3b639","direct":false,"kind":"runtime","optional":false},{"id":7253140476,"package_name":"github.com/inconshreveable/mousetrap","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140477,"package_name":"github.com/inconshreveable/mousetrap","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140478,"package_name":"github.com/influxdata/influxdb-client-go","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140479,"package_name":"github.com/influxdata/line-protocol","ecosystem":"go","requirements":"v0.0.0-20200327222509-2487e7298839","direct":false,"kind":"runtime","optional":false},{"id":7253140480,"package_name":"github.com/influxdata/line-protocol","ecosystem":"go","requirements":"v0.0.0-20210922203350-b1ad95c89adf","direct":false,"kind":"runtime","optional":false},{"id":7253140481,"package_name":"github.com/josharian/intern","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140482,"package_name":"github.com/json-iterator/go","ecosystem":"go","requirements":"v1.1.9","direct":false,"kind":"runtime","optional":false},{"id":7253140483,"package_name":"github.com/json-iterator/go","ecosystem":"go","requirements":"v1.1.12","direct":false,"kind":"runtime","optional":false},{"id":7253140484,"package_name":"github.com/jstemmer/go-junit-report","ecosystem":"go","requirements":"v0.0.0-20190106144839-af01ea7f8024","direct":false,"kind":"runtime","optional":false},{"id":7253140485,"package_name":"github.com/jstemmer/go-junit-report","ecosystem":"go","requirements":"v0.9.1","direct":false,"kind":"runtime","optional":false},{"id":7253140486,"package_name":"github.com/kisielk/gotool","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140487,"package_name":"github.com/kr/fs","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140488,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140489,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140490,"package_name":"github.com/kr/pretty","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140491,"package_name":"github.com/kr/pty","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":7253140492,"package_name":"github.com/kr/text","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140493,"package_name":"github.com/kr/text","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140494,"package_name":"github.com/labstack/echo/v4","ecosystem":"go","requirements":"v4.1.11","direct":false,"kind":"runtime","optional":false},{"id":7253140495,"package_name":"github.com/labstack/echo/v4","ecosystem":"go","requirements":"v4.7.2","direct":false,"kind":"runtime","optional":false},{"id":7253140496,"package_name":"github.com/labstack/gommon","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140497,"package_name":"github.com/labstack/gommon","ecosystem":"go","requirements":"v0.3.1","direct":false,"kind":"runtime","optional":false},{"id":7253140498,"package_name":"github.com/leodido/go-urn","ecosystem":"go","requirements":"v1.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140499,"package_name":"github.com/leodido/go-urn","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140500,"package_name":"github.com/lestrrat-go/backoff/v2","ecosystem":"go","requirements":"v2.0.8","direct":false,"kind":"runtime","optional":false},{"id":7253140501,"package_name":"github.com/lestrrat-go/blackmagic","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140502,"package_name":"github.com/lestrrat-go/blackmagic","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140503,"package_name":"github.com/lestrrat-go/httpcc","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140504,"package_name":"github.com/lestrrat-go/iter","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140505,"package_name":"github.com/lestrrat-go/iter","ecosystem":"go","requirements":"v1.0.2","direct":false,"kind":"runtime","optional":false},{"id":7253140506,"package_name":"github.com/lestrrat-go/jwx","ecosystem":"go","requirements":"v1.2.24","direct":false,"kind":"runtime","optional":false},{"id":7253140507,"package_name":"github.com/lestrrat-go/option","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140508,"package_name":"github.com/magiconair/properties","ecosystem":"go","requirements":"v1.8.6","direct":false,"kind":"runtime","optional":false},{"id":7253140509,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.0.0-20190614124828-94de47d64c63","direct":false,"kind":"runtime","optional":false},{"id":7253140510,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.0.0-20190626092158-b2ccc519800e","direct":false,"kind":"runtime","optional":false},{"id":7253140511,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.7.6","direct":false,"kind":"runtime","optional":false},{"id":7253140512,"package_name":"github.com/mailru/easyjson","ecosystem":"go","requirements":"v0.7.7","direct":false,"kind":"runtime","optional":false},{"id":7253140513,"package_name":"github.com/matryer/moq","ecosystem":"go","requirements":"v0.0.0-20190312154309-6cfb0558e1bd","direct":false,"kind":"runtime","optional":false},{"id":7253140514,"package_name":"github.com/matryer/moq","ecosystem":"go","requirements":"v0.2.7","direct":false,"kind":"runtime","optional":false},{"id":7253140515,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.2","direct":false,"kind":"runtime","optional":false},{"id":7253140516,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.4","direct":false,"kind":"runtime","optional":false},{"id":7253140517,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.11","direct":false,"kind":"runtime","optional":false},{"id":7253140518,"package_name":"github.com/mattn/go-colorable","ecosystem":"go","requirements":"v0.1.12","direct":false,"kind":"runtime","optional":false},{"id":7253140519,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.8","direct":false,"kind":"runtime","optional":false},{"id":7253140520,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.9","direct":false,"kind":"runtime","optional":false},{"id":7253140521,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.10","direct":false,"kind":"runtime","optional":false},{"id":7253140522,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.12","direct":false,"kind":"runtime","optional":false},{"id":7253140523,"package_name":"github.com/mattn/go-isatty","ecosystem":"go","requirements":"v0.0.14","direct":false,"kind":"runtime","optional":false},{"id":7253140524,"package_name":"github.com/mitchellh/mapstructure","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140525,"package_name":"github.com/modern-go/concurrent","ecosystem":"go","requirements":"v0.0.0-20180228061459-e0a39a4cb421","direct":false,"kind":"runtime","optional":false},{"id":7253140526,"package_name":"github.com/modern-go/concurrent","ecosystem":"go","requirements":"v0.0.0-20180306012644-bacd9c7ef1dd","direct":false,"kind":"runtime","optional":false},{"id":7253140527,"package_name":"github.com/modern-go/reflect2","ecosystem":"go","requirements":"v0.0.0-20180701023420-4b7aa43c6742","direct":false,"kind":"runtime","optional":false},{"id":7253140528,"package_name":"github.com/modern-go/reflect2","ecosystem":"go","requirements":"v1.0.2","direct":false,"kind":"runtime","optional":false},{"id":7253140529,"package_name":"github.com/niemeyer/pretty","ecosystem":"go","requirements":"v0.0.0-20200227124842-a10e7caefd8e","direct":false,"kind":"runtime","optional":false},{"id":7253140530,"package_name":"github.com/pascaldekloe/name","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140531,"package_name":"github.com/pelletier/go-toml","ecosystem":"go","requirements":"v1.9.5","direct":false,"kind":"runtime","optional":false},{"id":7253140532,"package_name":"github.com/pelletier/go-toml/v2","ecosystem":"go","requirements":"v2.0.5","direct":false,"kind":"runtime","optional":false},{"id":7253140533,"package_name":"github.com/pkg/diff","ecosystem":"go","requirements":"v0.0.0-20210226163009-20ebb0f2a09e","direct":false,"kind":"runtime","optional":false},{"id":7253140534,"package_name":"github.com/pkg/errors","ecosystem":"go","requirements":"v0.8.1","direct":false,"kind":"runtime","optional":false},{"id":7253140535,"package_name":"github.com/pkg/errors","ecosystem":"go","requirements":"v0.9.1","direct":false,"kind":"runtime","optional":false},{"id":7253140536,"package_name":"github.com/pkg/sftp","ecosystem":"go","requirements":"v1.13.1","direct":false,"kind":"runtime","optional":false},{"id":7253140537,"package_name":"github.com/pmezard/go-difflib","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140538,"package_name":"github.com/prometheus/client_model","ecosystem":"go","requirements":"v0.0.0-20190812154241-14fe0d1b01d4","direct":false,"kind":"runtime","optional":false},{"id":7253140539,"package_name":"github.com/rogpeppe/go-internal","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140540,"package_name":"github.com/rogpeppe/go-internal","ecosystem":"go","requirements":"v1.6.1","direct":false,"kind":"runtime","optional":false},{"id":7253140541,"package_name":"github.com/rogpeppe/go-internal","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140542,"package_name":"github.com/russross/blackfriday/v2","ecosystem":"go","requirements":"v2.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140543,"package_name":"github.com/spf13/afero","ecosystem":"go","requirements":"v1.9.2","direct":false,"kind":"runtime","optional":false},{"id":7253140544,"package_name":"github.com/spf13/cast","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140545,"package_name":"github.com/spf13/cobra","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140546,"package_name":"github.com/spf13/jwalterweatherman","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140547,"package_name":"github.com/spf13/pflag","ecosystem":"go","requirements":"v1.0.5","direct":false,"kind":"runtime","optional":false},{"id":7253140548,"package_name":"github.com/spf13/viper","ecosystem":"go","requirements":"v1.13.0","direct":false,"kind":"runtime","optional":false},{"id":7253140549,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140550,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140551,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.2.2","direct":false,"kind":"runtime","optional":false},{"id":7253140552,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140554,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140555,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.5.1","direct":false,"kind":"runtime","optional":false},{"id":7253140556,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.6.1","direct":false,"kind":"runtime","optional":false},{"id":7253140557,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.7.0","direct":false,"kind":"runtime","optional":false},{"id":7253140558,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.7.1","direct":false,"kind":"runtime","optional":false},{"id":7253140559,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140560,"package_name":"github.com/subosito/gotenv","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140561,"package_name":"github.com/tcnksm/go-latest","ecosystem":"go","requirements":"v0.0.0-20170313132115-e3007ae9052e","direct":false,"kind":"runtime","optional":false},{"id":7253140562,"package_name":"github.com/ugorji/go","ecosystem":"go","requirements":"v1.1.7","direct":false,"kind":"runtime","optional":false},{"id":7253140563,"package_name":"github.com/ugorji/go","ecosystem":"go","requirements":"v1.2.7","direct":false,"kind":"runtime","optional":false},{"id":7253140564,"package_name":"github.com/ugorji/go/codec","ecosystem":"go","requirements":"v1.1.7","direct":false,"kind":"runtime","optional":false},{"id":7253140565,"package_name":"github.com/ugorji/go/codec","ecosystem":"go","requirements":"v1.2.7","direct":false,"kind":"runtime","optional":false},{"id":7253140566,"package_name":"github.com/valyala/bytebufferpool","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":7253140567,"package_name":"github.com/valyala/fasttemplate","ecosystem":"go","requirements":"v1.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140568,"package_name":"github.com/valyala/fasttemplate","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140569,"package_name":"github.com/valyala/fasttemplate","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140570,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.1.25","direct":false,"kind":"runtime","optional":false},{"id":7253140571,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.1.27","direct":false,"kind":"runtime","optional":false},{"id":7253140572,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.1.32","direct":false,"kind":"runtime","optional":false},{"id":7253140573,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":7253140574,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140575,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.21.0","direct":false,"kind":"runtime","optional":false},{"id":7253140576,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.0","direct":false,"kind":"runtime","optional":false},{"id":7253140578,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.3","direct":false,"kind":"runtime","optional":false},{"id":7253140579,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.4","direct":false,"kind":"runtime","optional":false},{"id":7253140580,"package_name":"go.opencensus.io","ecosystem":"go","requirements":"v0.22.5","direct":false,"kind":"runtime","optional":false},{"id":7253140581,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190308221718-c2843e01d9a2","direct":false,"kind":"runtime","optional":false},{"id":7253140582,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190510104115-cbcb75029529","direct":false,"kind":"runtime","optional":false},{"id":7253140583,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190605123033-f99c8df09eb5","direct":false,"kind":"runtime","optional":false},{"id":7253140584,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190701094942-4def268fd1a4","direct":false,"kind":"runtime","optional":false},{"id":7253140585,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20191011191535-87dc89f01550","direct":false,"kind":"runtime","optional":false},{"id":7253140586,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20191112222119-e1110fd1c708","direct":false,"kind":"runtime","optional":false},{"id":7253140587,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20200622213623-75b288015ac9","direct":false,"kind":"runtime","optional":false},{"id":7253140936,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.8","direct":false,"kind":"runtime","optional":false},{"id":7253140588,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20210421170649-83a5a9bb288b","direct":false,"kind":"runtime","optional":false},{"id":7253140589,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20210817164053-32db794688a5","direct":false,"kind":"runtime","optional":false},{"id":7253140590,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20210921155107-089bfa567519","direct":false,"kind":"runtime","optional":false},{"id":7253140591,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20211108221036-ceb1ce70b4fa","direct":false,"kind":"runtime","optional":false},{"id":7253140592,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20211215153901-e495a2d5b3d3","direct":false,"kind":"runtime","optional":false},{"id":7253140593,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20220427172511-eb4f295cb31f","direct":false,"kind":"runtime","optional":false},{"id":7253140594,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20220513210258-46612604a0f9","direct":false,"kind":"runtime","optional":false},{"id":7253140595,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190121172915-509febef88a4","direct":false,"kind":"runtime","optional":false},{"id":7253140596,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190306152737-a1d7652674e8","direct":false,"kind":"runtime","optional":false},{"id":7253140597,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190510132918-efd6b22b2522","direct":false,"kind":"runtime","optional":false},{"id":7253140598,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20190829153037-c13cbed26979","direct":false,"kind":"runtime","optional":false},{"id":7253140599,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20191030013958-a1ab85dbe136","direct":false,"kind":"runtime","optional":false},{"id":7253140600,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20191129062945-2f5052295587","direct":false,"kind":"runtime","optional":false},{"id":7253140601,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20191227195350-da58074b4299","direct":false,"kind":"runtime","optional":false},{"id":7253140602,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20200119233911-0405dc783f0a","direct":false,"kind":"runtime","optional":false},{"id":7253140603,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20200207192155-f17229e696bd","direct":false,"kind":"runtime","optional":false},{"id":7253140604,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20200224162631-6cc2880d07d6","direct":false,"kind":"runtime","optional":false},{"id":7253140605,"package_name":"golang.org/x/exp","ecosystem":"go","requirements":"v0.0.0-20230118134722-a68e582fa157","direct":false,"kind":"runtime","optional":false},{"id":7253140606,"package_name":"golang.org/x/image","ecosystem":"go","requirements":"v0.0.0-20190227222117-0694c2d4d067","direct":false,"kind":"runtime","optional":false},{"id":7253140607,"package_name":"golang.org/x/image","ecosystem":"go","requirements":"v0.0.0-20190802002840-cff245a6509b","direct":false,"kind":"runtime","optional":false},{"id":7253140608,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20181026193005-c67002cb31c3","direct":false,"kind":"runtime","optional":false},{"id":7253140609,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190227174305-5b3e6a55c961","direct":false,"kind":"runtime","optional":false},{"id":7253140610,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190301231843-5614ed5bae6f","direct":false,"kind":"runtime","optional":false},{"id":7253140611,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190313153728-d0100b6bd8b3","direct":false,"kind":"runtime","optional":false},{"id":7253140612,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190409202823-959b441ac422","direct":false,"kind":"runtime","optional":false},{"id":7253140613,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190909230951-414d861bb4ac","direct":false,"kind":"runtime","optional":false},{"id":7253140614,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20190930215403-16217165b5de","direct":false,"kind":"runtime","optional":false},{"id":7253140615,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20191125180803-fdd1cda4f05f","direct":false,"kind":"runtime","optional":false},{"id":7253140616,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20200130185559-910be7a94367","direct":false,"kind":"runtime","optional":false},{"id":7253140617,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20200302205851-738671d3881b","direct":false,"kind":"runtime","optional":false},{"id":7253140618,"package_name":"golang.org/x/lint","ecosystem":"go","requirements":"v0.0.0-20201208152925-83fdc39ff7b5","direct":false,"kind":"runtime","optional":false},{"id":7253140619,"package_name":"golang.org/x/mobile","ecosystem":"go","requirements":"v0.0.0-20190312151609-d3739f865fa6","direct":false,"kind":"runtime","optional":false},{"id":7253140620,"package_name":"golang.org/x/mobile","ecosystem":"go","requirements":"v0.0.0-20190719004257-d2bd2a29d028","direct":false,"kind":"runtime","optional":false},{"id":7253140621,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.0.0-20190513183733-4bf6d317e70e","direct":false,"kind":"runtime","optional":false},{"id":7253140622,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140623,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.1.1-0.20191105210325-c90efee705ee","direct":false,"kind":"runtime","optional":false},{"id":7253140624,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.1.1-0.20191107180719-034126e5016b","direct":false,"kind":"runtime","optional":false},{"id":7253140625,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140626,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140627,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140628,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.4.1","direct":false,"kind":"runtime","optional":false},{"id":7253140629,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0-dev.0.20220106191415-9b9b3d81d5e3","direct":false,"kind":"runtime","optional":false},{"id":7253140630,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0","direct":false,"kind":"runtime","optional":false},{"id":7253140631,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20180724234803-3673e40ba225","direct":false,"kind":"runtime","optional":false},{"id":7253140632,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20180826012351-8a410e7b638d","direct":false,"kind":"runtime","optional":false},{"id":7253140633,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190108225652-1e06a53dbb7e","direct":false,"kind":"runtime","optional":false},{"id":7253140634,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190213061140-3a22650c66bd","direct":false,"kind":"runtime","optional":false},{"id":7253140635,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190311183353-d8887717615a","direct":false,"kind":"runtime","optional":false},{"id":7253140636,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190404232315-eb5bcb51f2a3","direct":false,"kind":"runtime","optional":false},{"id":7253140637,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190501004415-9ce7a6920f09","direct":false,"kind":"runtime","optional":false},{"id":7253140638,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190503192946-f4e77d36d62c","direct":false,"kind":"runtime","optional":false},{"id":7253140639,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190603091049-60506f45cf65","direct":false,"kind":"runtime","optional":false},{"id":7253140640,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190620200207-3b0461eec859","direct":false,"kind":"runtime","optional":false},{"id":7253140641,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190628185345-da137c7871d7","direct":false,"kind":"runtime","optional":false},{"id":7253140642,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190724013045-ca1201d0de80","direct":false,"kind":"runtime","optional":false},{"id":7253140643,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20191112182307-2180aed22343","direct":false,"kind":"runtime","optional":false},{"id":7253140644,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20191209160850-c0dbc17a3553","direct":false,"kind":"runtime","optional":false},{"id":7253140645,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200114155413-6afb5195e5aa","direct":false,"kind":"runtime","optional":false},{"id":7253140646,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200202094626-16171245cfb2","direct":false,"kind":"runtime","optional":false},{"id":7253140647,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200222125558-5a598a2470a0","direct":false,"kind":"runtime","optional":false},{"id":7253140648,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200226121028-0de0cce0169b","direct":false,"kind":"runtime","optional":false},{"id":7253140649,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200301022130-244492dfa37a","direct":false,"kind":"runtime","optional":false},{"id":7253140650,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200324143707-d3edc9973b7e","direct":false,"kind":"runtime","optional":false},{"id":7253140651,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200425230154-ff2c4b7c35a0","direct":false,"kind":"runtime","optional":false},{"id":7253140652,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200501053045-e0ff5e5a1de5","direct":false,"kind":"runtime","optional":false},{"id":7253140653,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200506145744-7e3656a0809f","direct":false,"kind":"runtime","optional":false},{"id":7253140654,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200513185701-a91f0712d120","direct":false,"kind":"runtime","optional":false},{"id":7253140655,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200520182314-0ba52f642ac2","direct":false,"kind":"runtime","optional":false},{"id":7253140656,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200625001655-4c5254603344","direct":false,"kind":"runtime","optional":false},{"id":7253140657,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200707034311-ab3426394381","direct":false,"kind":"runtime","optional":false},{"id":7253140658,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20200822124328-c89045814202","direct":false,"kind":"runtime","optional":false},{"id":7253140659,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201021035429-f5854403a974","direct":false,"kind":"runtime","optional":false},{"id":7253140660,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201031054903-ff519b6c9102","direct":false,"kind":"runtime","optional":false},{"id":7253140661,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201209123823-ac852fbbde11","direct":false,"kind":"runtime","optional":false},{"id":7253140662,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201224014010-6772e930b67b","direct":false,"kind":"runtime","optional":false},{"id":7253140663,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20210226172049-e18ecbb05110","direct":false,"kind":"runtime","optional":false},{"id":7253140664,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20211015210444-4f30a5c0130f","direct":false,"kind":"runtime","optional":false},{"id":7253140665,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20211112202133-69e39bad7dc2","direct":false,"kind":"runtime","optional":false},{"id":7253140666,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20220513224357-95641704303c","direct":false,"kind":"runtime","optional":false},{"id":7253140667,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140668,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20180821212333-d2e6202438be","direct":false,"kind":"runtime","optional":false},{"id":7253140669,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20190226205417-e64efc72b421","direct":false,"kind":"runtime","optional":false},{"id":7253140670,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20190604053449-0f29369cfe45","direct":false,"kind":"runtime","optional":false},{"id":7253140671,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20191202225959-858c2ad4c8b6","direct":false,"kind":"runtime","optional":false},{"id":7253140672,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20200107190931-bf48bf16ab8d","direct":false,"kind":"runtime","optional":false},{"id":7253140673,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20200902213428-5d25da1a8d43","direct":false,"kind":"runtime","optional":false},{"id":7253140674,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20201109201403-9fd604954f58","direct":false,"kind":"runtime","optional":false},{"id":7253140675,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20201208152858-08078c50e5b5","direct":false,"kind":"runtime","optional":false},{"id":7253140676,"package_name":"golang.org/x/oauth2","ecosystem":"go","requirements":"v0.0.0-20210218202405-ba52d332ba99","direct":false,"kind":"runtime","optional":false},{"id":7253140677,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20180314180146-1d60e4601c6f","direct":false,"kind":"runtime","optional":false},{"id":7253140678,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20181108010431-42b317875d0f","direct":false,"kind":"runtime","optional":false},{"id":7253140679,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20181221193216-37e7f081c4d4","direct":false,"kind":"runtime","optional":false},{"id":7253140680,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190227155943-e225da77a7e6","direct":false,"kind":"runtime","optional":false},{"id":7253140681,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190423024810-112230192c58","direct":false,"kind":"runtime","optional":false},{"id":7253140682,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190911185100-cd5d95a43a6e","direct":false,"kind":"runtime","optional":false},{"id":7253140683,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20200317015054-43a5402ce75a","direct":false,"kind":"runtime","optional":false},{"id":7253140684,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20200625203802-6e8e738ad208","direct":false,"kind":"runtime","optional":false},{"id":7253140685,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20201020160332-67f06af15bc9","direct":false,"kind":"runtime","optional":false},{"id":7253140686,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20201207232520-09787c993a3a","direct":false,"kind":"runtime","optional":false},{"id":7253140687,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20210220032951-036812b2e83c","direct":false,"kind":"runtime","optional":false},{"id":7253140688,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20220819030929-7fc1605a5dde","direct":false,"kind":"runtime","optional":false},{"id":7253140689,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20180830151530-49385e6e1522","direct":false,"kind":"runtime","optional":false},{"id":7253140690,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190215142949-d0b11bdaac8a","direct":false,"kind":"runtime","optional":false},{"id":7253140691,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190222072716-a9d3bda3a223","direct":false,"kind":"runtime","optional":false},{"id":7253140692,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190312061237-fead79001313","direct":false,"kind":"runtime","optional":false},{"id":7253140693,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190412213103-97732733099d","direct":false,"kind":"runtime","optional":false},{"id":7253140694,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190502145724-3ef323f4f1fd","direct":false,"kind":"runtime","optional":false},{"id":7253140695,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190507160741-ecd444e8653b","direct":false,"kind":"runtime","optional":false},{"id":7253140696,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190606165138-5da285871e9c","direct":false,"kind":"runtime","optional":false},{"id":7253140697,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190624142023-c5567b49c5d0","direct":false,"kind":"runtime","optional":false},{"id":7253140698,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190726091711-fc99dfbffb4e","direct":false,"kind":"runtime","optional":false},{"id":7253140699,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190813064441-fde4db37ae7a","direct":false,"kind":"runtime","optional":false},{"id":7253140700,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191001151750-bb3f8db39f24","direct":false,"kind":"runtime","optional":false},{"id":7253140701,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191008105621-543471e840be","direct":false,"kind":"runtime","optional":false},{"id":7253140702,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191115151921-52ab43148777","direct":false,"kind":"runtime","optional":false},{"id":7253140703,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191204072324-ce4227a45e2e","direct":false,"kind":"runtime","optional":false},{"id":7253140704,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20191228213918-04cbcbbfeed8","direct":false,"kind":"runtime","optional":false},{"id":7253140705,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200113162924-86b910548bc1","direct":false,"kind":"runtime","optional":false},{"id":7253140706,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200116001909-b77594299b42","direct":false,"kind":"runtime","optional":false},{"id":7253140707,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200122134326-e047566fdf82","direct":false,"kind":"runtime","optional":false},{"id":7253140708,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200202164722-d101bd2416d5","direct":false,"kind":"runtime","optional":false},{"id":7253140709,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200212091648-12a6c2dcc1e4","direct":false,"kind":"runtime","optional":false},{"id":7253140710,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200223170610-d5e6a3e2c0ae","direct":false,"kind":"runtime","optional":false},{"id":7253140711,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200302150141-5c8b2ff67527","direct":false,"kind":"runtime","optional":false},{"id":7253140712,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200323222414-85ca7c5b95cd","direct":false,"kind":"runtime","optional":false},{"id":7253140713,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200331124033-c3d80250170d","direct":false,"kind":"runtime","optional":false},{"id":7253140714,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200501052902-10377860bb8e","direct":false,"kind":"runtime","optional":false},{"id":7253140715,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200511232937-7e40ca221e25","direct":false,"kind":"runtime","optional":false},{"id":7253140716,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200515095857-1151b9dac4a9","direct":false,"kind":"runtime","optional":false},{"id":7253140717,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200523222454-059865788121","direct":false,"kind":"runtime","optional":false},{"id":7253140718,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200803210538-64077c9b5642","direct":false,"kind":"runtime","optional":false},{"id":7253140719,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200905004654-be1d3432aa8f","direct":false,"kind":"runtime","optional":false},{"id":7253140720,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200930185726-fdedc70b468f","direct":false,"kind":"runtime","optional":false},{"id":7253140721,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20201119102817-f84b799fce68","direct":false,"kind":"runtime","optional":false},{"id":7253140722,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20201201145000-ef89a241ccb3","direct":false,"kind":"runtime","optional":false},{"id":7253140723,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210104204734-6f8348627aad","direct":false,"kind":"runtime","optional":false},{"id":7253140724,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210119212857-b64e53b001e4","direct":false,"kind":"runtime","optional":false},{"id":7253140725,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210225134936-a50acf3fe073","direct":false,"kind":"runtime","optional":false},{"id":7253140726,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210423082822-04245dca01da","direct":false,"kind":"runtime","optional":false},{"id":7253140727,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210423185535-09eb48e85fd7","direct":false,"kind":"runtime","optional":false},{"id":7253140728,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210615035016-665e8c7367d1","direct":false,"kind":"runtime","optional":false},{"id":7253140729,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210630005230-0f9fa26af87c","direct":false,"kind":"runtime","optional":false},{"id":7253140730,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210806184541-e5e7981a1069","direct":false,"kind":"runtime","optional":false},{"id":7253140731,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210927094055-39ccf1dd6fa6","direct":false,"kind":"runtime","optional":false},{"id":7253140732,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20211019181941-9d821ace8654","direct":false,"kind":"runtime","optional":false},{"id":7253140733,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20211103235746-7861aae1554b","direct":false,"kind":"runtime","optional":false},{"id":7253140734,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20211216021012-1d35b9e2eb4e","direct":false,"kind":"runtime","optional":false},{"id":7253140735,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20220412211240-33da011f77ad","direct":false,"kind":"runtime","optional":false},{"id":7253140736,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20220513210249-45d2b4557a2a","direct":false,"kind":"runtime","optional":false},{"id":7253140737,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140738,"package_name":"golang.org/x/term","ecosystem":"go","requirements":"v0.0.0-20201126162022-7de9c90e9dd1","direct":false,"kind":"runtime","optional":false},{"id":7253140739,"package_name":"golang.org/x/term","ecosystem":"go","requirements":"v0.0.0-20210927222741-03fcf44c2211","direct":false,"kind":"runtime","optional":false},{"id":7253140740,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.0.0-20170915032832-14c0d48ead0c","direct":false,"kind":"runtime","optional":false},{"id":7253140741,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140743,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.1-0.20180807135948-17ff2d5776d2","direct":false,"kind":"runtime","optional":false},{"id":7253140744,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.2","direct":false,"kind":"runtime","optional":false},{"id":7253140745,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.3","direct":false,"kind":"runtime","optional":false},{"id":7253140746,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.4","direct":false,"kind":"runtime","optional":false},{"id":7253140747,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.6","direct":false,"kind":"runtime","optional":false},{"id":7253140748,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.7","direct":false,"kind":"runtime","optional":false},{"id":7253140749,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140750,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20181108054448-85acf8d2951c","direct":false,"kind":"runtime","optional":false},{"id":7253140751,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20190308202827-9d24e82272b4","direct":false,"kind":"runtime","optional":false},{"id":7253140752,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20191024005414-555d28b269f0","direct":false,"kind":"runtime","optional":false},{"id":7253140753,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20201208040808-7e3f01d25324","direct":false,"kind":"runtime","optional":false},{"id":7253140754,"package_name":"golang.org/x/time","ecosystem":"go","requirements":"v0.0.0-20220411224347-583f2d630306","direct":false,"kind":"runtime","optional":false},{"id":7253140756,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20180917221912-90fa682c2a6e","direct":false,"kind":"runtime","optional":false},{"id":7253140757,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190114222345-bf090417da8b","direct":false,"kind":"runtime","optional":false},{"id":7253140758,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190226205152-f727befe758c","direct":false,"kind":"runtime","optional":false},{"id":7253140759,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190311212946-11955173bddd","direct":false,"kind":"runtime","optional":false},{"id":7253140760,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190312151545-0bb0c0a6e846","direct":false,"kind":"runtime","optional":false},{"id":7253140761,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190312170243-e65039ee4138","direct":false,"kind":"runtime","optional":false},{"id":7253140762,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190425150028-36563e24a262","direct":false,"kind":"runtime","optional":false},{"id":7253140763,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190506145303-2d16b83fe98c","direct":false,"kind":"runtime","optional":false},{"id":7253140764,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190524140312-2c0ae7006135","direct":false,"kind":"runtime","optional":false},{"id":7253140765,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190606124116-d0a3d012864b","direct":false,"kind":"runtime","optional":false},{"id":7253140766,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190621195816-6e04913cbbac","direct":false,"kind":"runtime","optional":false},{"id":7253140767,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190628153133-6cdbf07be9d0","direct":false,"kind":"runtime","optional":false},{"id":7253140768,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190816200558-6889da9d5479","direct":false,"kind":"runtime","optional":false},{"id":7253140769,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20190911174233-4f2ddba30aff","direct":false,"kind":"runtime","optional":false},{"id":7253140770,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191012152004-8de300cfc20a","direct":false,"kind":"runtime","optional":false},{"id":7253140771,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191113191852-77e3bb0ad9e7","direct":false,"kind":"runtime","optional":false},{"id":7253140772,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191115202509-3a792d9c32b2","direct":false,"kind":"runtime","optional":false},{"id":7253140773,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191119224855-298f0cb1881e","direct":false,"kind":"runtime","optional":false},{"id":7253140774,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191125144606-a911d9008d1f","direct":false,"kind":"runtime","optional":false},{"id":7253140775,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191130070609-6e064ea0cf2d","direct":false,"kind":"runtime","optional":false},{"id":7253140776,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191216173652-a0e659d51361","direct":false,"kind":"runtime","optional":false},{"id":7253140777,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191227053925-7b8e75db28f4","direct":false,"kind":"runtime","optional":false},{"id":7253140939,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.3.0","direct":false,"kind":"runtime","optional":false},{"id":7253140778,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200117161641-43d50277825c","direct":false,"kind":"runtime","optional":false},{"id":7253140779,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200122220014-bf1340f18c4a","direct":false,"kind":"runtime","optional":false},{"id":7253140780,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200130002326-2f3ba24bd6e7","direct":false,"kind":"runtime","optional":false},{"id":7253140781,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200204074204-1cc6d1ef6c74","direct":false,"kind":"runtime","optional":false},{"id":7253140782,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200207183749-b753a1ba74fa","direct":false,"kind":"runtime","optional":false},{"id":7253140783,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200212150539-ea181f53ac56","direct":false,"kind":"runtime","optional":false},{"id":7253140784,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200224181240-023911ca70b2","direct":false,"kind":"runtime","optional":false},{"id":7253140785,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200227222343-706bc42d1f0d","direct":false,"kind":"runtime","optional":false},{"id":7253140786,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200304193943-95d2e580d8eb","direct":false,"kind":"runtime","optional":false},{"id":7253140787,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200312045724-11d5b4c81c7d","direct":false,"kind":"runtime","optional":false},{"id":7253140788,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200331025713-a30bf2db82d4","direct":false,"kind":"runtime","optional":false},{"id":7253140789,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200501065659-ab2804fb9c9d","direct":false,"kind":"runtime","optional":false},{"id":7253140790,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200512131952-2bc93b1c0c88","direct":false,"kind":"runtime","optional":false},{"id":7253140791,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200515010526-7d3b6ebf133d","direct":false,"kind":"runtime","optional":false},{"id":7253140792,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200618134242-20370b0cb4b2","direct":false,"kind":"runtime","optional":false},{"id":7253140793,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200729194436-6467de6f59a7","direct":false,"kind":"runtime","optional":false},{"id":7253140794,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200804011535-6c149bb5ef0d","direct":false,"kind":"runtime","optional":false},{"id":7253140795,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200825202427-b303f430e36d","direct":false,"kind":"runtime","optional":false},{"id":7253140796,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20200904185747-39188db58858","direct":false,"kind":"runtime","optional":false},{"id":7253140797,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201110124207-079ba7bd75cd","direct":false,"kind":"runtime","optional":false},{"id":7253140798,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201201161351-ac6f37ff4c2a","direct":false,"kind":"runtime","optional":false},{"id":7253140799,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201208233053-a543418bbed2","direct":false,"kind":"runtime","optional":false},{"id":7253140800,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20210105154028-b0ab187a4818","direct":false,"kind":"runtime","optional":false},{"id":7253140801,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20210108195828-e2f9c7f1fc8e","direct":false,"kind":"runtime","optional":false},{"id":7253140802,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140803,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.10","direct":false,"kind":"runtime","optional":false},{"id":7253140804,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140805,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20190717185122-a985d3407aa7","direct":false,"kind":"runtime","optional":false},{"id":7253140806,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20191011141410-1b5146add898","direct":false,"kind":"runtime","optional":false},{"id":7253140807,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20191204190536-9bdfabe68543","direct":false,"kind":"runtime","optional":false},{"id":7253140808,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20200804184101-5ec99f83aff1","direct":false,"kind":"runtime","optional":false},{"id":7253140809,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20220411194840-2f41105eb62f","direct":false,"kind":"runtime","optional":false},{"id":7253140810,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140811,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.7.0","direct":false,"kind":"runtime","optional":false},{"id":7253140812,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.8.0","direct":false,"kind":"runtime","optional":false},{"id":7253140813,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.9.0","direct":false,"kind":"runtime","optional":false},{"id":7253140814,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.13.0","direct":false,"kind":"runtime","optional":false},{"id":7253140815,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.14.0","direct":false,"kind":"runtime","optional":false},{"id":7253140816,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.15.0","direct":false,"kind":"runtime","optional":false},{"id":7253140817,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.17.0","direct":false,"kind":"runtime","optional":false},{"id":7253140818,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.18.0","direct":false,"kind":"runtime","optional":false},{"id":7253140819,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.19.0","direct":false,"kind":"runtime","optional":false},{"id":7253140820,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.20.0","direct":false,"kind":"runtime","optional":false},{"id":7253140821,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.22.0","direct":false,"kind":"runtime","optional":false},{"id":7253140822,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.24.0","direct":false,"kind":"runtime","optional":false},{"id":7253140823,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.28.0","direct":false,"kind":"runtime","optional":false},{"id":7253140824,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.29.0","direct":false,"kind":"runtime","optional":false},{"id":7253140825,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.30.0","direct":false,"kind":"runtime","optional":false},{"id":7253140826,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.35.0","direct":false,"kind":"runtime","optional":false},{"id":7253140827,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.36.0","direct":false,"kind":"runtime","optional":false},{"id":7253140828,"package_name":"google.golang.org/api","ecosystem":"go","requirements":"v0.40.0","direct":false,"kind":"runtime","optional":false},{"id":7253140829,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140830,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140831,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":7253140832,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.1","direct":false,"kind":"runtime","optional":false},{"id":7253140833,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.5","direct":false,"kind":"runtime","optional":false},{"id":7253140834,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.6","direct":false,"kind":"runtime","optional":false},{"id":7253140835,"package_name":"google.golang.org/appengine","ecosystem":"go","requirements":"v1.6.7","direct":false,"kind":"runtime","optional":false},{"id":7253140836,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20180817151627-c66870c02cf8","direct":false,"kind":"runtime","optional":false},{"id":7253140837,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190307195333-5fe7a883aa19","direct":false,"kind":"runtime","optional":false},{"id":7253140838,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190418145605-e7d98fc518a7","direct":false,"kind":"runtime","optional":false},{"id":7253140839,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190425155659-357c62f0e4bb","direct":false,"kind":"runtime","optional":false},{"id":7253140840,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190502173448-54afdca5d873","direct":false,"kind":"runtime","optional":false},{"id":7253140841,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190801165951-fa694d86fc64","direct":false,"kind":"runtime","optional":false},{"id":7253140842,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190819201941-24fa4b261c55","direct":false,"kind":"runtime","optional":false},{"id":7253140843,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20190911173649-1774047e7e51","direct":false,"kind":"runtime","optional":false},{"id":7253140941,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.4.0","direct":false,"kind":"runtime","optional":false},{"id":7253140844,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191108220845-16a3f7862a1a","direct":false,"kind":"runtime","optional":false},{"id":7253140845,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191115194625-c23dd37a84c9","direct":false,"kind":"runtime","optional":false},{"id":7253140846,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191216164720-4f79533eabd1","direct":false,"kind":"runtime","optional":false},{"id":7253140847,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20191230161307-f3c370f40bfb","direct":false,"kind":"runtime","optional":false},{"id":7253140848,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200115191322-ca5a22157cba","direct":false,"kind":"runtime","optional":false},{"id":7253140849,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200122232147-0452cf42e150","direct":false,"kind":"runtime","optional":false},{"id":7253140850,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200204135345-fa8e72b47b90","direct":false,"kind":"runtime","optional":false},{"id":7253140851,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200212174721-66ed5ce911ce","direct":false,"kind":"runtime","optional":false},{"id":7253140852,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200224152610-e50cd9704f63","direct":false,"kind":"runtime","optional":false},{"id":7253140853,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200228133532-8c2c7df3a383","direct":false,"kind":"runtime","optional":false},{"id":7253140854,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200305110556-506484158171","direct":false,"kind":"runtime","optional":false},{"id":7253140855,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200312145019-da6875a35672","direct":false,"kind":"runtime","optional":false},{"id":7253140856,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200331122359-1ee6d9798940","direct":false,"kind":"runtime","optional":false},{"id":7253140857,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200430143042-b979b6f78d84","direct":false,"kind":"runtime","optional":false},{"id":7253140858,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200511104702-f5ebc3bea380","direct":false,"kind":"runtime","optional":false},{"id":7253140859,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200515170657-fc4c6c6a6587","direct":false,"kind":"runtime","optional":false},{"id":7253140860,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200526211855-cb27e3aa2013","direct":false,"kind":"runtime","optional":false},{"id":7253140861,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200618031413-b414f8b61790","direct":false,"kind":"runtime","optional":false},{"id":7253140862,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200729003335-053ba62fc06f","direct":false,"kind":"runtime","optional":false},{"id":7253140863,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200804131852-c06518451d9c","direct":false,"kind":"runtime","optional":false},{"id":7253140864,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200825200019-8632dd797987","direct":false,"kind":"runtime","optional":false},{"id":7253140865,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20200904004341-0bd0a958aa1d","direct":false,"kind":"runtime","optional":false},{"id":7253140866,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201109203340-2640f1f9cdfb","direct":false,"kind":"runtime","optional":false},{"id":7253140867,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201201144952-b05cb90ed32e","direct":false,"kind":"runtime","optional":false},{"id":7253140868,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201210142538-e3217bee35cc","direct":false,"kind":"runtime","optional":false},{"id":7253140869,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20201214200347-8c77b98c765d","direct":false,"kind":"runtime","optional":false},{"id":7253140870,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20210108203827-ffc7fda8c3d7","direct":false,"kind":"runtime","optional":false},{"id":7253140871,"package_name":"google.golang.org/genproto","ecosystem":"go","requirements":"v0.0.0-20210226172003-ab064af71705","direct":false,"kind":"runtime","optional":false},{"id":7253140872,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.19.0","direct":false,"kind":"runtime","optional":false},{"id":7253140873,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.20.1","direct":false,"kind":"runtime","optional":false},{"id":7253140874,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.21.1","direct":false,"kind":"runtime","optional":false},{"id":7253140875,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.23.0","direct":false,"kind":"runtime","optional":false},{"id":7253140876,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.25.1","direct":false,"kind":"runtime","optional":false},{"id":7253140877,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.26.0","direct":false,"kind":"runtime","optional":false},{"id":7253140878,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.27.0","direct":false,"kind":"runtime","optional":false},{"id":7253140879,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.27.1","direct":false,"kind":"runtime","optional":false},{"id":7253140880,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.28.0","direct":false,"kind":"runtime","optional":false},{"id":7253140881,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.29.1","direct":false,"kind":"runtime","optional":false},{"id":7253140882,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.30.0","direct":false,"kind":"runtime","optional":false},{"id":7253140883,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.31.0","direct":false,"kind":"runtime","optional":false},{"id":7253140884,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.31.1","direct":false,"kind":"runtime","optional":false},{"id":7253140885,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.33.2","direct":false,"kind":"runtime","optional":false},{"id":7253140886,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.34.0","direct":false,"kind":"runtime","optional":false},{"id":7253140888,"package_name":"google.golang.org/grpc","ecosystem":"go","requirements":"v1.35.0","direct":false,"kind":"runtime","optional":false},{"id":7253140889,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v0.0.0-20200109180630-ec00e32a8dfd","direct":false,"kind":"runtime","optional":false},{"id":7253140891,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v0.0.0-20200221191635-4d8936d0db64","direct":false,"kind":"runtime","optional":false},{"id":7253140894,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v0.0.0-20200228230310-ab0ca4ff8a60","direct":false,"kind":"runtime","optional":false},{"id":7253140896,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.20.1-0.20200309200217-e05f789c0967","direct":false,"kind":"runtime","optional":false},{"id":7253140898,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.21.0","direct":false,"kind":"runtime","optional":false},{"id":7253140901,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.22.0","direct":false,"kind":"runtime","optional":false},{"id":7253140903,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.23.0","direct":false,"kind":"runtime","optional":false},{"id":7253140906,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.23.1-0.20200526195155-81db48ad09cc","direct":false,"kind":"runtime","optional":false},{"id":7253140908,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.24.0","direct":false,"kind":"runtime","optional":false},{"id":7253140911,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.25.0","direct":false,"kind":"runtime","optional":false},{"id":7253140913,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.26.0-rc.1","direct":false,"kind":"runtime","optional":false},{"id":7253140916,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.26.0","direct":false,"kind":"runtime","optional":false},{"id":7253140918,"package_name":"google.golang.org/protobuf","ecosystem":"go","requirements":"v1.28.0","direct":false,"kind":"runtime","optional":false},{"id":7253140919,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v0.0.0-20161208181325-20d25e280405","direct":false,"kind":"runtime","optional":false},{"id":7253140922,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20180628173108-788fd7840127","direct":false,"kind":"runtime","optional":false},{"id":7253140924,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20200227125254-8fa46927fb4f","direct":false,"kind":"runtime","optional":false},{"id":7253140926,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v1.0.0-20201130134442-10cb98267c6c","direct":false,"kind":"runtime","optional":false},{"id":7253140927,"package_name":"gopkg.in/errgo.v2","ecosystem":"go","requirements":"v2.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140929,"package_name":"gopkg.in/ini.v1","ecosystem":"go","requirements":"v1.67.0","direct":false,"kind":"runtime","optional":false},{"id":7253140931,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.2","direct":false,"kind":"runtime","optional":false},{"id":7253140933,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.2.5","direct":false,"kind":"runtime","optional":false},{"id":7253140944,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20200313102051-9f266ea9e77c","direct":false,"kind":"runtime","optional":false},{"id":7253140948,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20200615113413-eeeca48fe776","direct":false,"kind":"runtime","optional":false},{"id":7253140951,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20210107192922-496545a6307b","direct":false,"kind":"runtime","optional":false},{"id":7253140953,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.1","direct":false,"kind":"runtime","optional":false},{"id":7253140954,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190102054323-c2f93a96b099","direct":false,"kind":"runtime","optional":false},{"id":7253140956,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190106161140-3f1c8253044a","direct":false,"kind":"runtime","optional":false},{"id":7253140958,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190418001031-e561f6794a2a","direct":false,"kind":"runtime","optional":false},{"id":7253140960,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.0-20190523083050-ea95bdfd59fc","direct":false,"kind":"runtime","optional":false},{"id":7253140962,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.1-2019.2.3","direct":false,"kind":"runtime","optional":false},{"id":7253140964,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.1-2020.1.3","direct":false,"kind":"runtime","optional":false},{"id":7253140966,"package_name":"honnef.co/go/tools","ecosystem":"go","requirements":"v0.0.1-2020.1.4","direct":false,"kind":"runtime","optional":false},{"id":7253140968,"package_name":"pgregory.net/rapid","ecosystem":"go","requirements":"v0.4.7","direct":false,"kind":"runtime","optional":false},{"id":7253140971,"package_name":"rsc.io/binaryregexp","ecosystem":"go","requirements":"v0.2.0","direct":false,"kind":"runtime","optional":false},{"id":7253140973,"package_name":"rsc.io/quote/v3","ecosystem":"go","requirements":"v3.1.0","direct":false,"kind":"runtime","optional":false},{"id":7253140975,"package_name":"rsc.io/sampler","ecosystem":"go","requirements":"v1.3.0","direct":false,"kind":"runtime","optional":false}]}],"score":22.176402769714755,"created_at":"2023-09-11T14:52:09.557Z","updated_at":"2026-04-12T04:30:30.338Z","avatar_url":"https://github.com/volkszaehler.png","language":"Go","category":"Consumption","sub_category":"Buildings and Heating","monthly_downloads":0,"total_dependent_repos":18,"total_dependent_packages":4,"readme":"# ModBus Measurement Daemon\n\n[![Build Status](https://travis-ci.org/volkszaehler/mbmd.svg?branch=master)](https://travis-ci.org/volkszaehler/mbmd)\n\nA daemon for collecting measurement data from smart meters and grid inverters over modbus.\n\n`mbmd` provides an http interface to smart meters and grid inverters with modbus interface.\nMeter readings are made accessible through REST API and MQTT.\nModbus communication is possible over RS485 connections as well as TCP sockets.\n\n`mbmd` was originally developer by Mathias Dalheimer under the name of `gosdm`. Previous releases are still [available](https://github.com/gonium/gosdm630).\n\n# Table of Contents\n\n* [Requirements](#requirements)\n* [Installation](#installation)\n  * [Raspberry Pi](#raspberry-pi)\n  * [Detecting connected meters](#detecting-connected-meters)\n* [API](#api)\n  * [Rest API](#rest-api)\n  * [Websocket API](#websocket-api)\n  * [MQTT API](#mqtt-api)\n* [Supported Devices](#supported-devices)\n* [Releases](#releases)\n\n\n## Requirements\n\nYou'll need:\n* A supported Modbus/RTU smart meter OR an supported Modbus/TCP SunSpec-compatible grid inverter.\n* In case of Modbus/RTU: A USB RS485 adapter. See [USB-ISO-RS485 project](https://github.com/gonium/usb-iso-rs485) for a home-grown adapter.\n* Optionally an RS485 to Ethernet converter (see [SO discussion](https://stackoverflow.com/questions/59459877/is-rtu-over-tcp-a-spec-conforming-modbus-application))\n\n\n## Installation\n\n### Using the precompiled binaries\n\nPrecompiled release packages are [available](https://github.com/volkszaehler/mbmd/releases). Download the right package for the target platform and unzip.\n\n### Building from source\n\n`mbmd` is developed in [Go](http://golang.org) and requires ^1.16. To build from source two steps are needed:\n\n- use `make install` to install the build tools (make sure `$GOPATH/bin` is part of the path to make the installed tools accessible for the next step)\n- then run `make build` which creates the `./mbmd` binary\n\nTo cross-build for a different archtecture (e.g. Raspberry Pi), use\n\n    GOOS=linux GOARCH=arm GOARM=5 make build\n\n### Running\n\nTo get help on the various command line options run\n\n\tmbmd -h\n\nThe full documentation is available in the [docs](docs/mbmd.md) folder.\nA typical invocation looks like this:\n\n    $ ./bin/mbmd run -a /dev/ttyUSB0 -d janitza:26,sdm:1\n    2017/01/25 16:34:26 config: creating RTU connection via /dev/ttyUSB0 (9600baud, 8N1)\n    2017/01/25 16:34:26 httpd: starting api at :8080\n\nThis call queries a Janitza B23 meter with ID 26 and an Eastron SDM\nmeter at ID 1. Not all devices are by default configured to use ID 1.\nThe default device IDs depend on the meter type and documented in the meter's manual.\n\nTo use RTU devices with RS485/Ethernet adapters, add the `--rtu` switch to configure `mbmd` to use the TCP connection with RTU data format:\n\n\t❯ ./bin/mbmd run -a rs485.fritz.box:23 --rtu -d sdm:1\n\t2020/01/02 10:43:53 mbmd unknown version (unknown commit)\n\t2020/01/02 10:43:53 config: creating RTU over TCP connection for rs485.fritz.box:23\n\t2020/01/02 10:43:53 initialized device SDM1.1: {SDM Eastron SDM meters   }\n\t2020/01/02 10:43:53 httpd: starting api at :8080\n\nIf you use the ``-v`` commandline switch you can see\nmodbus traffic and the current readings on the command line.  At\n[http://localhost:8080](http://localhost:8080) you can see an embedded\nweb page that updates itself with the latest values:\n\n![realtime view of incoming measurements](img/realtimeview.png)\n\n\n### Run using Docker\n\nAlternatively run `mbmd` using the Docker image:\n\n\tdocker run -p 8080:8080 --device=/dev/ttyUSB0 volkszaehler/mbmd run -a /dev/ttyUSB0 -u 0.0.0.0:8080 -d sdm:1\n\nTo mount the config file into the docker container use `-v $(pwd)/mbmd.yaml:/etc/mbmd.yaml`.\n\n## Raspberry Pi\n\nDownload the ARM package for usage with Raspberry Pi and copy the binary\ninto `/usr/local/bin`. The following sytemd unit can be used to\nstart `mbmd` as service (put this into a new file ``/etc/systemd/system/mbmd.service``):\n\n    [Unit]\n    Description=mbmd\n    After=syslog.target\n    After=network-online.target\n    [Service]\n    ExecStart=/usr/local/bin/mbmd run -a /dev/ttyAMA0\n    Restart=always\n    [Install]\n    WantedBy=multi-user.target\n\nYou might need to adjust the ``-a`` parameter depending on where your\nRS485 adapter is connected. Then, use\n\n    systemctl start mbmd\n\nto test your installation. If you're satisfied use\n\n    systemctl enable mbmd\n\nto start the service at boot time automatically.\n\n*WARNING:* When using an FTDI-based USB-RS485 adaptor the\nRaspberry Pi might become unreachable after a while. This is most likely not\nan issue with the RS485-USB adaptor or this software, but because of [a\nbug in the Raspberry Pi kernel](https://github.com/raspberrypi/linux/issues/1187).\nTo fix switch the internal `dwc` USB hub of the Raspberry Pi to\nUSB1.1 by adding the following parameter to `/boot/cmdline.txt`:\n\n    dwc_otg.speed=1\n\n\n## Detecting connected meters\n\nMODBUS/RTU does not provide a mechanism to discover devices. There is no\nreliable way to detect all attached devices.\nAs workaround `mbmd scan` attempts to read the L1 voltage from all\ndevice IDs and reports which one replied correctly (i.e. 110/230V +/-10%):\n\n````\n./mbmd scan -a /dev/ttyUSB0\n2017/06/21 10:22:34 Starting bus scan\n2017/06/21 10:22:35 Device 1: n/a\n...\n2017/07/27 16:16:39 Device 21: SDM type device found, L1 voltage: 234.86\n2017/07/27 16:16:40 Device 22: n/a\n2017/07/27 16:16:40 Device 23: n/a\n2017/07/27 16:16:40 Device 24: n/a\n2017/07/27 16:16:40 Device 25: n/a\n2017/07/27 16:16:40 Device 26: Janitza type device found, L1 voltage: 235.10\n...\n2017/07/27 16:17:25 Device 247: n/a\n2017/07/27 16:17:25 Found 2 active devices:\n2017/07/27 16:17:25 * slave address 21: type SDM\n2017/07/27 16:17:25 * slave address 26: type JANITZA\n2017/07/27 16:17:25 WARNING: This lists only the devices that responded to a known L1 voltage request. Devices with different function code definitions might not be detected.\n````\n\n\n# API\n\n## Rest API\n\n`mbmd` provides a convenient REST API. Supported endpoints under `/api` are:\n\n* `/api/last/{ID}` latest data for device\n* `/api/avg/{ID}` averaged data over last minute\n* `/api/status` daemon status\n\nBoth device APIs can also be called without the device id to return data for all connected devices.\n\n\n### Monitoring\n\nThe `/api/status` endpoint provides the following information:\n\n    $ curl http://localhost:8080/api/status\n    {\n      \"StartTime\": \"2017-01-25T16:35:50.839829945+01:00\",\n      \"UpTime\": 65587.177092186,\n      \"Goroutines\": 11,\n      \"Memory\": {\n        \"Alloc\": 1568344,\n        \"HeapAlloc\": 1568344\n      },\n      \"Modbus\": {\n        \"TotalModbusRequests\": 1979122,\n        \"ModbusRequestRatePerMinute\": 1810.5264666764785,\n        \"TotalModbusErrors\": 738,\n        \"ModbusErrorRatePerMinute\": 0.6751319688261972\n      },\n      \"ConfiguredMeters\": [\n        {\n          \"Id\": 26,\n          \"Type\": \"JANITZA\",\n          \"Status\": \"available\"\n        }\n      ]\n    }\n\nThis is a snapshot of a process running over night, along with the error\nstatistics during that timeframe. The process queries continuously,\nthe cabling is not a shielded, twisted wire but something that I had laying\naround. With proper cabling the error rate should be lower, though.\n\n\n## Websocket API\n\nData read from the meters can be observed by clients in realtime using the Websocket API.\nAs soon as new readings are available, they are pushed to connected websocket clients.\n\nThe websocket API is available on `/ws`. All connected clients receive status and\nmeter updates for all connected meters without further subscription.\n\n\n## MQTT API\n\nAnother option for receiving client updates is by using the built-in MQTT publisher.\nBy default, readings are published at `/mbmd/\u003cunique id\u003e/\u003creading\u003e`. Rate limiting is possible.\n\n\n## Homie API\n\n[Homie](https://homieiot.github.io) is an MQTT convention for IoT/M2M. `mbmd` publishes all devices and readings using the Homie protocol. This allows systems like e.g. OpenHAB to auto-discover devices operated by `mbmd`:\n\n![auto-discovery of thinks in OpenHAB](img/openhab.png)\n\n## InfluxDB support\n\nThere is also the option to directly insert the data into an influxdb database by using the command-line options available. InfluxDB 1.8 and 2.0 are currently supported. to enable this, add the `--influx-database` and the `--influx-url` commandline parameter. More advanced configuration is available, to learn more checkout the [mbmd_run.md](docs/mbmd_run.md) documentation\n\n# Supported Devices\n\n`mbmd` supports a range of DIN rail meters and grid inverters.\n\n## Modbus RTU Meters\n\nThe meters have slightly different capabilities. The EASTRON SDM630 offers\na lot of features, while the smaller devices only support basic\nfeatures.  The table below gives an overview (please consult the\nmanuals for definitive guidance):\n\n| Meter | Phases | Voltage | Current | Power | Power Factor | Total Import | Total Export | Per-phase Import/Export | Line/Neutral THD |\n|---|---|---|---|---|---|---|---|---|---|\n| EM24 | 3 | + | + | + | + | + | + |  +/- | - |\n| EM24_E1 | 3 | + | + | + | + | + | + | +/- | - |\n| SDM54 | 3 | + | + | + | + | + | + | + | + |\n| SDM72 | 3 | - | - | + | - | + | + | - | - |\n| SDM120/220 | 1 | + | + | + | + | + | + | - | - |\n| SDM530 | 3 | + | + | + | + | + | + | - | - |\n| SDM630 | 3 | + | + | + | + | + | + | + | + |\n| Inepro PRO1/2 | 1 | + | + | + | + | + | + | - | - |\n| Inepro PRO380 | 3 | + | + | + | + | + | + | + | - |\n| Janitza B23-312 | 3 | + | + | + | + | + | + | - | - |\n| DZG DVH4013 | 3 | + | + | - | - | + | + | - | - |\n| SBC ALE3 | 3 | + | + | + | + | + | + | - | - |\n| ABB A/B-Series | 3 | + | + | + | + | + | + | + | + |\n| BE MPM3MP | 3 | + | + | + | + | + | + | - | - |\n| KOSTAL Smart Energy Meter | 3 | + | + | + | + | + | + | + | - |\n| ORNO WE-504/514/515 | 1 | + | + | + | + | + | - | - | - |\n| ORNO WE-516/517 | 3 | + | + | + | + | + | + | + | - |\n| ORNO WE-525/526 | 1 | + | + | + | + | + | + | - | - |\n| iEM3000 Series | 3 | + | + | + | + | + | + | (+) | + |\n| B+G e-tech WS100 | 1 | + | + | + | - | + | + | - | - |\n| B+G e-tech DS100 | 3 | + | + | + | + | + | + | + | + |\n\n- **EM24**: Compact (4TE), 3P meter with RS-485 interface.\n- **EM24_E1**: Compact (4TE), 3P meter with Ethernet interface.\n- **SDM54**: Compact (3TE), 3P meter with a lot of features. Can be configured using the builtin display.\n- **SDM72**: Compact (4TE), 3P meter with bare minium of total measurements, no currents. Can be configured using the builtin display.\n- **SDM120**: Cheap and small (1TE), but communication parameters can only be set over MODBUS, which is currently not supported by this project.\nYou can use e.g. [SDM120C](https://github.com/gianfrdp/SDM120C) to change parameters.\n- **SDM220, SDM230**: More comfortable (2TE), can be configured using the builtin display.\n- **SDM530**: Very big (7TE) - takes up a lot of space, but all connections are\non the underside of the meter.\n- **SDM630**: v1 and v2, both MID and non-MID. Compact (4TE) and with lots\nof features. Can be configured for 1P2 (single phase with neutral), 3P3\n(three phase without neutral) and 3P4 (three phase with neutral) systems.\n- **Inepro PRO1/2**: Small (1TE) MID meter up to 100A (Pro2). External tariff input possible (2T versions).\n- **Inepro PRO380**: Compact (4TE) MID meter with extensive features.\nCan be connected 3P4W, 3P3W and 1P2W. Includes per-direction active/reactive energy consumption and supports two tariffs. Energy resolution is 2 digits per kWh.\n- **Janitza B23-312**: These meters have a higher update rate than the Eastron\ndevices, but they are more expensive. The -312 variant is the one with a MODBUS interface.\n- **DZG DVH4013**: This meter does not provide raw phase power measurements\nand only aggregated import/export measurements. The meter is only\npartially implemented and not recommended.\nBy default, the meter communicates using 9600 8E1. The meter ID\nis derived from the serial number taking the last two numbers of the\nserial number (top right of the device), e.g. 23, and add one (24).\nAssume this is a hexadecimal number and convert it to decimal (36). Use\nthis as the meter ID.\n- **SBC ALE3**: This compact Saia Burgess Controls meter is comparable to the SDM630.\nIt has two tariffs, both import and export depending on meter version and compact (4TE). It's often used with Viessmann heat pumps.\n- **BE MPM3PM**: Compact (4TE) three phase meter.\n- **KOSTAL Smart Energy Meter**: Slave device for Kostal grid inverters. Known [bug](https://github.com/volkszaehler/mbmd/pull/61#issuecomment-570081618) in inverter firmware with Total Export Energy.\n- **ORNO WE-504/514/515**: Low cost single phase meter\nBy default, the meter communicates using 9600 8E1. The meter ID is 1. Meter ID, bus speed and other parameters are configurable via  [Software(Windows only)](https://www.partner.orno.pl/grafiki2/PC%20softwre170621.rar)\nWE-515 has a lithium battery and multi-tariff support, WE-514 does not support tariff zones.\n- **ORNO WE-516/517**: Low cost three phase meter.\nBy default, the meter communicates using 9600 8E1. The meter ID is 1. Meter ID, bus speed and other parameters are configurable via  [Software(Windows only)](https://www.partner.orno.pl/grafiki2/PC%20softwre170621.rar)\nWE-517 has a lithium battery and multi-tariff support, WE-516 does not support tariff zones.\n- **Schneider Electric iEM3000 Series**: Professional meter with loads of configurable max/average measurements with timestamp functionality.\n- **B+G e-tech WS100**: Cheap and small (1TE), 1P MID meter.\n- **B+G e-tech DS100**: Looks to be similar potent as SDM630 if not better, very cheap in Germany (below 50€)\nAble to set higher Baudrate than SDM630 so measurements can be taken more often.\nThere is also a MID Version and Multi Traif (\"-30B\") Version.\n(https://data.xn--stromzhler-v5a.eu/manuals/bg_ds100serie_de.pdf)\n\n## Modbus TCP Grid Inverters\n\nApart from meters, SunSpec-compatible grid inverters connected over TCP\nare supported, too. SunSpec defines a default register layout for accessing\nthe devices.\n\nSupported inverters include popular devices from SolarEdge (SE3000, SE9000)\nand SMA (Sunny Boy and Sunny TriPower).\n\nIn case of TCP connection, the adapter parameter becomes the hostname and port:\n\n\t./mbmd run -a 192.168.0.44:502 -d SMA:23\n\nSunSpec devices can host multiple subdevices, e.g. to expose a meter attached to an inverter. To access a subdevice, append its id to the slave id:\n\n\t./mbmd run -a 192.168.0.44:502 -d FRONIUS:1.0 -d FRONIUS:1.1\n\n\n# Releases\n\nDownload the lastest release from [github.com/volkszaehler/mbmd/releases](https://github.com/volkszaehler/mbmd/releases).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["solar","battery","charger","eebus","emobility","ocpp","pv","semp","wallbox","charging-station"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20089","html_url":"https://ost.ecosyste.ms/projects/20089"}