{"id":48847,"name":"eebus-go","description":"Enable your products and services to support the energy management protocol EEBUS, the communication interface that enables energy management relevant devices in buildings to connect and interact with each other and with grid and market operators.","url":"https://github.com/enbility/eebus-go","last_synced_at":"2026-05-12T22:02:20.725Z","repository":{"id":37900496,"uuid":"480392585","full_name":"enbility/eebus-go","owner":"enbility","description":"EEBUS protocol implementation in go","archived":false,"fork":false,"pushed_at":"2026-04-29T15:29:02.000Z","size":2974,"stargazers_count":109,"open_issues_count":36,"forks_count":45,"subscribers_count":16,"default_branch":"dev","last_synced_at":"2026-05-04T18:03:43.993Z","etag":null,"topics":["charging-stations","eebus","electric-vehicles","emobility","energy-management","energy-management-systems"],"latest_commit_sha":null,"homepage":"https://enbility.net","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enbility.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-11T13:29:20.000Z","updated_at":"2026-04-25T08:31:09.000Z","dependencies_parsed_at":"2026-03-10T15:00:55.719Z","dependency_job_id":"5528b64f-4ddb-4297-9dd2-e259248b3a3e","html_url":"https://github.com/enbility/eebus-go","commit_stats":{"total_commits":784,"total_committers":4,"mean_commits":196.0,"dds":0.07525510204081631,"last_synced_commit":"a58156e5e5958dc1c65ad74f709b26161aee0643"},"previous_names":["derandereandi/eebus-go"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/enbility/eebus-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enbility","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/sbom","scorecard":{"id":376628,"data":{"date":"2025-08-11","repo":{"name":"github.com/enbility/eebus-go","commit":"c2d97a2e53e025894c798723a809a4e3b1291e5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Maintained","score":5,"reason":"7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 5/10 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/default.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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"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/default.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/default.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/default.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/default.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/default.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/default.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 'dev'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T14:24:22.929Z","repository_id":37900496,"created_at":"2025-08-18T14:24:22.929Z","updated_at":"2025-08-18T14:24:22.929Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32707798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"enbility","name":"enbility","uuid":"118294492","kind":"organization","description":"Solutions for using the EEBUS protocol","email":null,"website":"https://enbility.net","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/118294492?v=4","repositories_count":7,"last_synced_at":"2024-04-18T16:36:18.874Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/enbility","funding_links":[],"total_stars":56,"followers":12,"following":0,"created_at":"2023-03-21T21:44:57.482Z","updated_at":"2024-04-18T16:36:20.424Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enbility","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enbility/repositories"},"packages":[{"id":5642251,"name":"github.com/enbility/eebus-go","ecosystem":"go","description":"","homepage":"https://github.com/enbility/eebus-go","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/enbility/eebus-go","keywords_array":[],"namespace":"github.com/enbility","versions_count":16,"first_release_published_at":"2022-12-05T14:41:42.000Z","latest_release_published_at":"2024-09-21T16:05:36.000Z","latest_release_number":"v0.7.0","last_synced_at":"2026-05-06T19:02:51.071Z","created_at":"2022-12-06T06:10:27.910Z","updated_at":"2026-05-06T19:02:51.071Z","registry_url":"https://pkg.go.dev/github.com/enbility/eebus-go","install_command":"go get github.com/enbility/eebus-go","documentation_url":"https://pkg.go.dev/github.com/enbility/eebus-go#section-documentation","metadata":{},"repo_metadata":{"id":37900496,"uuid":"480392585","full_name":"enbility/eebus-go","owner":"enbility","description":"EEBUS protocol implementation in go","archived":false,"fork":false,"pushed_at":"2026-04-16T12:10:38.000Z","size":2946,"stargazers_count":106,"open_issues_count":36,"forks_count":44,"subscribers_count":15,"default_branch":"dev","last_synced_at":"2026-04-18T10:01:32.424Z","etag":null,"topics":["charging-stations","eebus","electric-vehicles","emobility","energy-management","energy-management-systems"],"latest_commit_sha":null,"homepage":"https://enbility.net","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enbility.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-11T13:29:20.000Z","updated_at":"2026-04-16T07:53:31.000Z","dependencies_parsed_at":"2026-03-10T15:00:55.719Z","dependency_job_id":"5528b64f-4ddb-4297-9dd2-e259248b3a3e","html_url":"https://github.com/enbility/eebus-go","commit_stats":{"total_commits":784,"total_committers":4,"mean_commits":196.0,"dds":0.07525510204081631,"last_synced_commit":"a58156e5e5958dc1c65ad74f709b26161aee0643"},"previous_names":["derandereandi/eebus-go"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/enbility/eebus-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enbility","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/sbom","scorecard":{"id":376628,"data":{"date":"2025-08-11","repo":{"name":"github.com/enbility/eebus-go","commit":"c2d97a2e53e025894c798723a809a4e3b1291e5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Maintained","score":5,"reason":"7 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 5/10 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/default.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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"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/default.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/default.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/default.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/default.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/default.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/default.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/enbility/eebus-go/default.yml/dev?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 'dev'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T14:24:22.929Z","repository_id":37900496,"created_at":"2025-08-18T14:24:22.929Z","updated_at":"2025-08-18T14:24:22.929Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32022561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":"enbility","name":"enbility","uuid":"118294492","kind":"organization","description":"Solutions for using the EEBUS protocol","email":null,"website":"https://enbility.net","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/118294492?v=4","repositories_count":7,"last_synced_at":"2024-04-18T16:36:18.874Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/enbility","funding_links":[],"total_stars":56,"followers":12,"following":0,"created_at":"2023-03-21T21:44:57.482Z","updated_at":"2024-04-18T16:36:20.424Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enbility","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enbility/repositories"},"tags":[{"name":"v0.7.0","sha":"99f07ff79819b728dd2fe37472c4a26865d8076c","kind":"tag","published_at":"2024-09-21T16:05:37.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.7.0","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.7.0/manifests"},{"name":"v0.6.2","sha":"6bddfe6a2c8e121cf722471f2f81a9d7483341e3","kind":"tag","published_at":"2024-08-12T12:52:01.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.6.2","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"105fc17f7ca73ca9b36def1050e37160230f7b7f","kind":"tag","published_at":"2024-07-16T15:56:34.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.6.1","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"0939b60d01fde9ac4649b6a941941a20b1f24e40","kind":"tag","published_at":"2024-06-29T14:24:18.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.6.0","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"116a560c7d0dcb68495f356934550ba491398165","kind":"tag","published_at":"2024-05-18T13:50:01.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.5.0","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.5.0/manifests"},{"name":"v0.2.2","sha":"1bae87b0ec277c64423020b07d6dfc4de9231b38","kind":"tag","published_at":"2023-05-21T18:59:19.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.2.2","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.2.2/manifests"},{"name":"v0.2.0","sha":"5a35d859e94ec37bf1c55d17c87ce40c304c725f","kind":"tag","published_at":"2023-04-07T17:19:34.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.2.0","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.2.0/manifests"},{"name":"v0.1.7","sha":"325ff5080add7c407ea98641d74d88d33d2c46d1","kind":"tag","published_at":"2023-03-23T15:52:33.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.7","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"66b68180883e539d6067b98f68efb9ad695ce333","kind":"tag","published_at":"2023-01-29T15:58:17.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.6","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"daa999138dc670564c2c8feb6fb88f2e9b7a01cc","kind":"tag","published_at":"2022-12-11T18:56:24.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.5","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"0d1fa78df06cad8b87be0579a9d4772c3d6fd05e","kind":"tag","published_at":"2022-12-11T13:47:43.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.4","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"213258faa9578023dd782afc74b45073ef7cbbb4","kind":"tag","published_at":"2022-12-10T10:59:35.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.3","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"d142ee71de5fad32f8772cd89d6460936825f0dc","kind":"tag","published_at":"2022-12-08T18:14:03.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.2","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"c379d19e2cdc6bb84a61456a07acccf63dfffc5c","kind":"tag","published_at":"2022-12-06T09:54:03.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.1","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"aac2e52bafc07a3c822f67c52d18aa71c0974ec1","kind":"tag","published_at":"2022-12-05T14:52:40.000Z","download_url":"https://codeload.github.com/enbility/eebus-go/tar.gz/v0.1.0","html_url":"https://github.com/enbility/eebus-go/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/enbility/eebus-go@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-26T14:00:20.894Z","dependent_packages_count":10,"downloads":null,"downloads_period":null,"dependent_repos_count":12,"rankings":{"downloads":null,"dependent_repos_count":1.5560682136879722,"dependent_packages_count":2.980339423547457,"stargazers_count":8.903716141575714,"forks_count":8.872344012797264,"docker_downloads_count":0.7838916183738028,"average":4.619271881996442},"purl":"pkg:golang/github.com/enbility/eebus-go","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/enbility/eebus-go","docker_dependents_count":4,"docker_downloads_count":363242,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/enbility/eebus-go","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/enbility/eebus-go/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-22T12:00:54.100Z","issues_count":62,"pull_requests_count":154,"avg_time_to_close_issue":7361117.0625,"avg_time_to_close_pull_request":1634604.3966942148,"issues_closed_count":32,"pull_requests_closed_count":121,"pull_request_authors_count":17,"issue_authors_count":16,"avg_comments_per_issue":1.0483870967741935,"avg_comments_per_pull_request":0.974025974025974,"merged_pull_requests_count":104,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":4863280.666666667,"past_year_avg_time_to_close_pull_request":694157.8,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.6363636363636364,"past_year_avg_comments_per_pull_request":0.4444444444444444,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/issues","maintainers":[{"login":"DerAndereAndi","count":128,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DerAndereAndi"},{"login":"taimo42","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/taimo42"},{"login":"kirollosnct","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kirollosnct"},{"login":"mohamedeltawel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mohamedeltawel"}],"active_maintainers":[{"login":"DerAndereAndi","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DerAndereAndi"},{"login":"kirollosnct","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kirollosnct"},{"login":"mohamedeltawel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mohamedeltawel"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fenbility%2Feebus-go/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fenbility%2Feebus-go/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fenbility%2Feebus-go/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fenbility%2Feebus-go/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fenbility%2Feebus-go/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fenbility%2Feebus-go/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2129304,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","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":504516,"full_name":"enbility/eebus-go","default_branch":"dev","total_commits":910,"total_committers":11,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":82.72727272727273,"dds":0.08681318681318684,"past_year_total_commits":13,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.25,"past_year_dds":0.5384615384615384,"last_synced_at":"2026-05-10T21:00:46.528Z","last_synced_commit":"1a17729d888e69aab63a43f3e358070b35cea659","created_at":"2023-03-09T02:36:45.530Z","updated_at":"2026-05-10T21:00:40.233Z","committers":[{"name":"Andreas Linde","email":"mail@andreaslinde.de","login":"DerAndereAndi","count":831},{"name":"taimo42","email":"60046002+taimo42","login":"taimo42","count":53},{"name":"Simon Thelen","email":"simon.thelen@enqs.de","login":"sthelen-enqs","count":9},{"name":"Lukas Einfalt","email":"lukx@lukx.de","login":"lukx","count":5},{"name":"Andrew Johnson","email":"andrewmjohnson549@gmail.com","login":"anjrew","count":3},{"name":"Ahmed Magdy","email":"162883192+AhmedMagdyCoretech","login":"AhmedMagdyCoretech","count":2},{"name":"Klaus Jaroslawsky","email":"Klaus.Jaroslawsky@so-oftware.de","login":"jaroslawsky","count":2},{"name":"andreas.ertel","email":"andreas.ertel@esystems-mtg.de","login":null,"count":2},{"name":"StefanSchoof","email":"4662023+StefanSchoof","login":"StefanSchoof","count":1},{"name":"Nils Prommersberger","email":"nils.prommersberger@icloud.com","login":"nils-prommersberger","count":1},{"name":"Mohamed Eltawel","email":"mohamed.eltawel@coretech-innovations.com","login":"mohamedeltawel","count":1}],"past_year_committers":[{"name":"Andreas Linde","email":"mail@andreaslinde.de","login":"DerAndereAndi","count":6},{"name":"Simon Thelen","email":"simon.thelen@enqs.de","login":"sthelen-enqs","count":4},{"name":"andreas.ertel","email":"andreas.ertel@esystems-mtg.de","login":null,"count":2},{"name":"Mohamed Eltawel","email":"mohamed.eltawel@coretech-innovations.com","login":"mohamedeltawel","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-12T00:00:09.062Z","repositories_count":6233255,"commits_count":894717046,"contributors_count":34899635,"owners_count":1151976,"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":"enbility/eebus-go","html_url":"https://github.com/enbility/eebus-go","last_synced_at":"2026-05-08T19:42:15.067Z","status":"error","issues_count":63,"pull_requests_count":154,"avg_time_to_close_issue":7361117.0625,"avg_time_to_close_pull_request":1634604.3966942148,"issues_closed_count":32,"pull_requests_closed_count":121,"pull_request_authors_count":17,"issue_authors_count":16,"avg_comments_per_issue":1.0317460317460316,"avg_comments_per_pull_request":0.974025974025974,"merged_pull_requests_count":104,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":4863280.666666667,"past_year_avg_time_to_close_pull_request":694157.8,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.5454545454545454,"past_year_avg_comments_per_pull_request":0.4444444444444444,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"created_at":"2023-05-17T18:24:09.745Z","updated_at":"2026-05-08T19:42:15.067Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/enbility%2Feebus-go/issues","issue_labels_count":{"enhancement":27,"SHIP":10,"eebus spec":9,"SPINE":8,"bug":7,"help wanted":7,"good first issue":2,"wontfix":1,"question":1,"documentation":1},"pull_request_labels_count":{"enhancement":20,"bug":9,"SPINE":1,"SHIP":1},"issue_author_associations_count":{"MEMBER":41,"NONE":17,"CONTRIBUTOR":5},"pull_request_author_associations_count":{"MEMBER":90,"CONTRIBUTOR":34,"NONE":23,"COLLABORATOR":7},"issue_authors":{"DerAndereAndi":41,"sthelen-enqs":4,"andig":4,"heavyweight87":2,"randomdudebunchofnumbers":1,"elgohr":1,"AhmedMagdyCoretech":1,"lukx":1,"tbazire":1,"Ab0Ddore":1,"memory-hws":1,"lyn0904":1,"TobiasHuber1980":1,"Ka0o0":1,"msbakhshi":1,"Rosi1981":1},"pull_request_authors":{"DerAndereAndi":87,"sthelen-enqs":20,"anjrew":8,"andig":8,"taimo42":7,"lukx":5,"heavyweight87":4,"AhmedMagdyCoretech":3,"daviddsapir":2,"kirollosnct":2,"jaroslawsky":2,"uhl":1,"heinemannj":1,"bufferoverflowww":1,"StefanSchoof":1,"mohamedeltawel":1,"msbakhshi":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-08T00:00:21.527Z","repositories_count":14534858,"issues_count":34208567,"pull_requests_count":112114368,"authors_count":11257526,"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":{"enhancement":3,"bug":1,"good first issue":1},"past_year_pull_request_labels_count":{"bug":2},"past_year_issue_author_associations_count":{"NONE":6,"CONTRIBUTOR":3,"MEMBER":2},"past_year_pull_request_author_associations_count":{"MEMBER":9,"NONE":5,"CONTRIBUTOR":4},"past_year_issue_authors":{"andig":3,"sthelen-enqs":3,"DerAndereAndi":2,"Ka0o0":1,"memory-hws":1,"msbakhshi":1},"past_year_pull_request_authors":{"DerAndereAndi":6,"andig":3,"sthelen-enqs":3,"kirollosnct":2,"bufferoverflowww":1,"mohamedeltawel":1,"msbakhshi":1,"uhl":1},"maintainers":[{"login":"DerAndereAndi","count":128,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DerAndereAndi"},{"login":"taimo42","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/taimo42"},{"login":"kirollosnct","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kirollosnct"},{"login":"mohamedeltawel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mohamedeltawel"}],"active_maintainers":[{"login":"DerAndereAndi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DerAndereAndi"},{"login":"kirollosnct","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kirollosnct"},{"login":"mohamedeltawel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mohamedeltawel"}]},"events":{"total":{"DeleteEvent":6,"PullRequestEvent":48,"ForkEvent":13,"DiscussionEvent":1,"IssuesEvent":13,"WatchEvent":31,"IssueCommentEvent":53,"PushEvent":48,"PullRequestReviewCommentEvent":63,"PullRequestReviewEvent":41,"CreateEvent":19},"last_year":{"DeleteEvent":1,"PullRequestEvent":7,"ForkEvent":5,"DiscussionEvent":1,"IssuesEvent":7,"WatchEvent":9,"IssueCommentEvent":8,"PushEvent":12,"PullRequestReviewEvent":4,"PullRequestReviewCommentEvent":3,"CreateEvent":8}},"keywords":["charging-stations","eebus","electric-vehicles","emobility","energy-management","energy-management-systems"],"dependencies":[{"ecosystem":"go","filepath":"go.mod","sha":null,"kind":"manifest","created_at":"2022-07-11T23:31:13.868Z","updated_at":"2022-07-11T23:31:13.868Z","repository_link":"https://github.com/enbility/eebus-go/blob/dev/go.mod","dependencies":[{"id":140080793,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.1","direct":true,"kind":"runtime","optional":false},{"id":140080794,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.8","direct":true,"kind":"runtime","optional":false},{"id":140080795,"package_name":"github.com/miekg/dns","ecosystem":"go","requirements":"v1.1.49","direct":true,"kind":"runtime","optional":false},{"id":140080796,"package_name":"github.com/pmezard/go-difflib","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":140080797,"package_name":"github.com/rickb777/plural","ecosystem":"go","requirements":"v1.4.1","direct":true,"kind":"runtime","optional":false},{"id":140080798,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.4.0","direct":true,"kind":"runtime","optional":false},{"id":140080799,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0-dev.0.20220106191415-9b9b3d81d5e3","direct":true,"kind":"runtime","optional":false},{"id":140080800,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20220531201128-c960675eff93","direct":true,"kind":"runtime","optional":false},{"id":140080801,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20220520151302-bc2c85ada10a","direct":true,"kind":"runtime","optional":false},{"id":140080802,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.10","direct":true,"kind":"runtime","optional":false},{"id":140080803,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20220517211312-f3a8303e98df","direct":true,"kind":"runtime","optional":false},{"id":140080804,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.1","direct":true,"kind":"runtime","optional":false},{"id":140080805,"package_name":"github.com/ahmetb/go-linq/v3","ecosystem":"go","requirements":"v3.2.0","direct":true,"kind":"runtime","optional":false},{"id":140080806,"package_name":"github.com/godbus/dbus/v5","ecosystem":"go","requirements":"v5.0.4","direct":true,"kind":"runtime","optional":false},{"id":140080807,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.5.0","direct":true,"kind":"runtime","optional":false},{"id":140080808,"package_name":"github.com/holoplot/go-avahi","ecosystem":"go","requirements":"v1.0.0","direct":true,"kind":"runtime","optional":false},{"id":140080809,"package_name":"github.com/libp2p/zeroconf/v2","ecosystem":"go","requirements":"v2.0.0-20220623102032-af1f1d3ada85","direct":true,"kind":"runtime","optional":false},{"id":140080810,"package_name":"github.com/rickb777/date","ecosystem":"go","requirements":"v1.19.1","direct":true,"kind":"runtime","optional":false},{"id":140080811,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.7.1","direct":true,"kind":"runtime","optional":false},{"id":140080812,"package_name":"gitlab.com/c0b/go-ordered-json","ecosystem":"go","requirements":"v0.0.0-20201030195603-febf46534d5a","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"go","filepath":"go.sum","sha":null,"kind":"lockfile","created_at":"2022-07-11T23:31:13.880Z","updated_at":"2022-07-11T23:31:13.880Z","repository_link":"https://github.com/enbility/eebus-go/blob/dev/go.sum","dependencies":[{"id":140080828,"package_name":"github.com/DerAndereAndi/go-avahi","ecosystem":"go","requirements":"v0.0.0-20220623134409-61c3cd3f6dd4","direct":false,"kind":"runtime","optional":false},{"id":140080829,"package_name":"github.com/ahmetb/go-linq/v3","ecosystem":"go","requirements":"v3.2.0","direct":false,"kind":"runtime","optional":false},{"id":140080830,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.0","direct":false,"kind":"runtime","optional":false},{"id":140080831,"package_name":"github.com/davecgh/go-spew","ecosystem":"go","requirements":"v1.1.1","direct":false,"kind":"runtime","optional":false},{"id":140080832,"package_name":"github.com/godbus/dbus/v5","ecosystem":"go","requirements":"v5.0.4","direct":false,"kind":"runtime","optional":false},{"id":140080833,"package_name":"github.com/google/go-cmp","ecosystem":"go","requirements":"v0.5.8","direct":false,"kind":"runtime","optional":false},{"id":140080834,"package_name":"github.com/gorilla/websocket","ecosystem":"go","requirements":"v1.5.0","direct":false,"kind":"runtime","optional":false},{"id":140080835,"package_name":"github.com/libp2p/zeroconf/v2","ecosystem":"go","requirements":"v2.0.0-20220623102032-af1f1d3ada85","direct":false,"kind":"runtime","optional":false},{"id":140080837,"package_name":"github.com/miekg/dns","ecosystem":"go","requirements":"v1.1.43","direct":false,"kind":"runtime","optional":false},{"id":140080838,"package_name":"github.com/miekg/dns","ecosystem":"go","requirements":"v1.1.49","direct":false,"kind":"runtime","optional":false},{"id":140080839,"package_name":"github.com/onsi/gomega","ecosystem":"go","requirements":"v1.19.0","direct":false,"kind":"runtime","optional":false},{"id":140080840,"package_name":"github.com/pmezard/go-difflib","ecosystem":"go","requirements":"v1.0.0","direct":false,"kind":"runtime","optional":false},{"id":140080841,"package_name":"github.com/rickb777/date","ecosystem":"go","requirements":"v1.19.1","direct":false,"kind":"runtime","optional":false},{"id":140080843,"package_name":"github.com/rickb777/plural","ecosystem":"go","requirements":"v1.4.1","direct":false,"kind":"runtime","optional":false},{"id":140080844,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.1.0","direct":false,"kind":"runtime","optional":false},{"id":140080846,"package_name":"github.com/stretchr/objx","ecosystem":"go","requirements":"v0.4.0","direct":false,"kind":"runtime","optional":false},{"id":140080847,"package_name":"github.com/stretchr/testify","ecosystem":"go","requirements":"v1.7.1","direct":false,"kind":"runtime","optional":false},{"id":140080849,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.3.5","direct":false,"kind":"runtime","optional":false},{"id":140080850,"package_name":"gitlab.com/c0b/go-ordered-json","ecosystem":"go","requirements":"v0.0.0-20201030195603-febf46534d5a","direct":false,"kind":"runtime","optional":false},{"id":140080852,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190308221718-c2843e01d9a2","direct":false,"kind":"runtime","optional":false},{"id":140080853,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20191011191535-87dc89f01550","direct":false,"kind":"runtime","optional":false},{"id":140080855,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.4.2","direct":false,"kind":"runtime","optional":false},{"id":140080856,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.6.0-dev.0.20220106191415-9b9b3d81d5e3","direct":false,"kind":"runtime","optional":false},{"id":140080858,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190404232315-eb5bcb51f2a3","direct":false,"kind":"runtime","optional":false},{"id":140080859,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190620200207-3b0461eec859","direct":false,"kind":"runtime","optional":false},{"id":140080861,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20210226172049-e18ecbb05110","direct":false,"kind":"runtime","optional":false},{"id":140080862,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20210405180319-a5a99cb37ef4","direct":false,"kind":"runtime","optional":false},{"id":140080864,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20210423184538-5f58ad60dda6","direct":false,"kind":"runtime","optional":false},{"id":140080865,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20210726213435-c6fcb2dbf985","direct":false,"kind":"runtime","optional":false},{"id":140080867,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20220531201128-c960675eff93","direct":false,"kind":"runtime","optional":false},{"id":140080868,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190423024810-112230192c58","direct":false,"kind":"runtime","optional":false},{"id":140080870,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20210220032951-036812b2e83c","direct":false,"kind":"runtime","optional":false},{"id":140080871,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190215142949-d0b11bdaac8a","direct":false,"kind":"runtime","optional":false},{"id":140080873,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190412213103-97732733099d","direct":false,"kind":"runtime","optional":false},{"id":140080874,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20201119102817-f84b799fce68","direct":false,"kind":"runtime","optional":false},{"id":140080876,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210303074136-134d130e1a04","direct":false,"kind":"runtime","optional":false},{"id":140080877,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210330210617-4fbd30eecc44","direct":false,"kind":"runtime","optional":false},{"id":140080879,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210423082822-04245dca01da","direct":false,"kind":"runtime","optional":false},{"id":140080880,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210426080607-c94f62235c83","direct":false,"kind":"runtime","optional":false},{"id":140080882,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210510120138-977fb7262007","direct":false,"kind":"runtime","optional":false},{"id":140080883,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20210630005230-0f9fa26af87c","direct":false,"kind":"runtime","optional":false},{"id":140080885,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20220520151302-bc2c85ada10a","direct":false,"kind":"runtime","optional":false},{"id":140080886,"package_name":"golang.org/x/term","ecosystem":"go","requirements":"v0.0.0-20201126162022-7de9c90e9dd1","direct":false,"kind":"runtime","optional":false},{"id":140080888,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":140080889,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.3","direct":false,"kind":"runtime","optional":false},{"id":140080891,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.6","direct":false,"kind":"runtime","optional":false},{"id":140080892,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.7","direct":false,"kind":"runtime","optional":false},{"id":140080894,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20180917221912-90fa682c2a6e","direct":false,"kind":"runtime","optional":false},{"id":140080895,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191119224855-298f0cb1881e","direct":false,"kind":"runtime","optional":false},{"id":140080897,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.6-0.20210726203631-07bc1bf47fb2","direct":false,"kind":"runtime","optional":false},{"id":140080898,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.1.10","direct":false,"kind":"runtime","optional":false},{"id":140080900,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20190717185122-a985d3407aa7","direct":false,"kind":"runtime","optional":false},{"id":140080901,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20191011141410-1b5146add898","direct":false,"kind":"runtime","optional":false},{"id":140080903,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20200804184101-5ec99f83aff1","direct":false,"kind":"runtime","optional":false},{"id":140080904,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20220517211312-f3a8303e98df","direct":false,"kind":"runtime","optional":false},{"id":140080906,"package_name":"gopkg.in/check.v1","ecosystem":"go","requirements":"v0.0.0-20161208181325-20d25e280405","direct":false,"kind":"runtime","optional":false},{"id":140080907,"package_name":"gopkg.in/yaml.v2","ecosystem":"go","requirements":"v2.4.0","direct":false,"kind":"runtime","optional":false},{"id":140080909,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.0-20200313102051-9f266ea9e77c","direct":false,"kind":"runtime","optional":false},{"id":140080910,"package_name":"gopkg.in/yaml.v3","ecosystem":"go","requirements":"v3.0.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/default.yml","sha":null,"kind":"manifest","created_at":"2023-02-12T12:16:07.854Z","updated_at":"2023-02-12T12:16:07.854Z","repository_link":"https://github.com/enbility/eebus-go/blob/dev/.github/workflows/default.yml","dependencies":[{"id":7584404674,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7584404675,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7584404676,"package_name":"golangci/golangci-lint-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7584404677,"package_name":"shogo82148/actions-goveralls","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":20.17752514807347,"created_at":"2023-09-13T12:45:07.328Z","updated_at":"2026-05-12T22:02:20.727Z","avatar_url":"https://github.com/enbility.png","language":"Go","category":"Energy Systems","sub_category":"Energy Data Accessibility and Integration","monthly_downloads":0,"total_dependent_repos":12,"total_dependent_packages":10,"readme":"# eebus-go\n\n[![Build Status](https://github.com/enbility/eebus-go/actions/workflows/default.yml/badge.svg?branch=dev)](https://github.com/enbility/eebus-go/actions/workflows/default.yml/badge.svg?branch=dev)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-5272B4)](https://godoc.org/github.com/enbility/eebus-go)\n[![Coverage Status](https://coveralls.io/repos/github/enbility/eebus-go/badge.svg?branch=dev)](https://coveralls.io/github/enbility/eebus-go?branch=dev)\n[![Go report](https://goreportcard.com/badge/github.com/enbility/eebus-go)](https://goreportcard.com/report/github.com/enbility/eebus-go)\n[![CodeFactor](https://www.codefactor.io/repository/github/enbility/eebus-go/badge)](https://www.codefactor.io/repository/github/enbility/eebus-go)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/enbility/eebus-go)\n\nThis library provides a foundation for implementing [EEBUS](https://eebus.org) use cases in [go](https://golang.org). It uses the SHIP implementation [ship-go](https://github.com/enbility/ship-go) and the SPINE implementation [spine-go](https://github.com/enbility/spine-go). Both repositories started as part of this repository, before they were moved into their own separate repositories and go packages.\n\nBasic understanding of the EEBUS concepts SHIP and SPINE to use this library is required. Please check the corresponding specifications on the [EEBUS downloads website](https://www.eebus.org/media-downloads/).\n\n## Introduction\n\nThe supported functionality contains:\n\n- Support for SHIP 1.0.1 via [ship-go](https://github.com/enbility/ship-go)\n- Support for SPINE 1.3.0 via [spine-go](https://github.com/enbility/spine-go)\n- Certificate handling\n- mDNS Support, incl. avahi support\n- Connection (websocket) handling, including reconnection and double connections\n- Support for handling pairing of devices\n\n## Packages\n\n- `api`: global API interface definitions and eebus service configuration\n- `features/client`: provides feature helpers with the local SPINE feature having the client role and the remote SPINE feature being the server for easy access to commonly used functions\n- `features/server`: provides feature helpers with the local SPINE feature having the server role for easy access to commonly used functions\n- `service`: central package which provides access to SHIP and SPINE. Use this to create the EEBUS service, its configuration and connect to remote EEBUS services\n- `usecases`: containing actor and use case based implementations with use case scenario based APIs and events\n\n## Examples\n\nThe examples folder contains a few demo applications using this stack. These do **not** provide complete implementations of any use case, but are intended as usage guidelines for the eebus-go stack in general and to have a quick demo.\n\nTherefore, please do not expect any of these examples to provide any meaningful functionality on their own, but instead view them as rough guidelines on the functionality you could implement using the eebus-go stack.\n\n### Controlbox\n\nThis includes example code for sending an LPC limit 5 seconds after connecting to a compatible device that can receive LPC limits.\n\n#### First Run\n\n```sh\ngo run examples/controlbox/main.go 4713\n```\n\n`4713` is the example server port that this process should listen on\n\nThe certificate and key and the local SKI will be generated and printed. You should then save the certificate and the key to a file.\n\n#### General Usage\n\n```sh\nUsage: go run examples/controlbox/main.go \u003cserverport\u003e \u003cremoteski\u003e \u003ccertfile\u003e \u003ckeyfile\u003e\n```\n\n- `remoteski` is the SKI of the remote device or service you want to connect to\n- `certfile` is a local file containing the generated certificate in the first usage run\n- `keyfile` is a local file containing the generated key in the first usage run\n\n### HEMS\n\nThis includes example code for accepting LPC and LPP limits from a control box, receiving and printing data to the console from battery (VABD) and pv inverters (VAPD) and grid connection point data (MGCP).\n\n#### First Run\n\n```sh\ngo run examples/hems/main.go 4714\n```\n\n`4714` is the example server port that this process should listen on\n\nThe certificate and key and the local SKI will be generated and printed. You should then save the certificate and the key to a file.\n\n#### General Usage\n\n```sh\nUsage: go run examples/hems/main.go \u003cserverport\u003e \u003cremoteski\u003e \u003ccertfile\u003e \u003ckeyfile\u003e\n```\n\n- `remoteski` is the SKI of the remote device or service you want to connect to\n- `certfile` is a local file containing the generated certificate in the first usage run\n- `keyfile` is a local file containing the generated key in the first usage run\n\n### EVSE\n\nThis includes example code for accepting LPC from a control box.\n\n#### First Run\n\n```sh\ngo run examples/hems/main.go 4715\n```\n\n`4715` is the example server port that this process should listen on\n\nThe certificate and key and the local SKI will be generated and printed. You should then save the certificate and the key to a file.\n\n#### General Usage\n\n```sh\nUsage: go run examples/evse/main.go \u003cserverport\u003e \u003cremoteski\u003e \u003ccertfile\u003e \u003ckeyfile\u003e\n```\n\n- `remoteski` is the SKI of the remote device or service you want to connect to\n- `certfile` is a local file containing the generated certificate in the first usage run\n- `keyfile` is a local file containing the generated key in the first usage run\n\n### Explanation\n\nThe remoteski is from the eebus service to connect to.\nIf no certfile or keyfile are provided, they are generated and printed in the console so they can be saved in a file and later used again. The local SKI is also printed.\n\n## SHIP implementation notes\n\n- Double connection handling is not implemented according to SHIP 12.2.2. Instead the connection initiated by the higher SKI will be kept. Much simpler and always works\n- PIN Verification is _NOT_ supported other than SHIP 13.4.4.3.5.1 _\"none\"_ PIN state is supported!\n- Access Methods SHIP 13.4.6 only supports the most basic scenario and only works after PIN verification state is completed.\n- Supported registration mechanisms (SHIP 5):\n  - auto accept (without any interaction mechanism!)\n  - user verification\n\nThis approach has been tested with:\n\n- Elli Charger Connect\n- Porsche Mobile Charger Connect\n- SMA Home Energy Manager 2.0\n\n## Interfaces\n\n### Verbose logging\n\nUse `SetLogger` on `Service` to set the logger which needs to conform to the `logging.Logging` interface of [ship-go](https://github.com/enbility/ship-go).\n\nExample:\n\n```go\nconfiguration = service.NewConfiguration(...)\nh.myService = service.NewEEBUSService(configuration, h)\nh.myService.SetLogging(h)\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["battery","charger","ocpp","pv","semp","solar","sunspec","wallbox"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/48847","html_url":"https://ost.ecosyste.ms/projects/48847"}