公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-26 03:46 UTC

openhab / openhab2-addons

This is an archive of the full history of the openhab2-addons repo.

JavaEPL-2.0★ 8 星标⑂ 15 复刻始于 2020年9月已归档在 GitHub 上查看 ↗

openhab/openhab2-addons 的健康指数为 100 分中的 14 分,处于「危急」区间。 其得分最高的类别是AI Readiness(59/100),最低的是Security(15/100)。 该仓库已归档,预计不会再有维护。

14
总分 / 100
危急

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

14
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.

所有权

openHAB组织
1,112 关注者53 个公开仓库始于 2011年8月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

20危急 · 占总体的 22%
评分方式
0/36推送新近度 — 最近一次推送于 2,134 天前
0/36提交节奏 — 52 周中有 0 周有提交
0/18提交量 — 最近一年 0 次提交
0/10OpenSSF Scorecard:Maintained — project is archived
所用输入
commits_last_year0
human_commit_share1
days_since_last_push2,134
active_weeks_last_year0

发布纪律

48存在风险
评分方式
16.2/27有发布版本 — 35 个版本标签(无 GitHub 发布版本)
0/36发布时效 — 最近一次发布版本于 2,134 天前
27/27发布节奏 — 约每 31.1 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count35
latest_release_tag2.5.9
releases_from_tags
days_since_latest_release2,134
mean_days_between_releases31.1
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

49存在风险 · 占总体的 18%
评分方式
13.7/60星标 — 8 个星标
9.6/25复刻 — 15 个复刻
1.7/15关注者 — 3 位关注者
所用输入
forks15
stars8
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

77良好
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(EPL-2.0)
18/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
6.3/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

58中等 · 占总体的 24%
评分方式
48.6/54巴士系数 — 6 位贡献者贡献了半数提交
17.5/22.5提交分布 — 头号贡献者编写了 22% 的提交
13.5/13.5贡献者广度 — 100 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 29 contributing companies or organizations
所用输入
bus_factor6
contributors_sampled100
top_contributor_share0.222
评分方式
0/46.8议题解决 — 没有议题或无数据
0/38.3PR 接受 — 没有已裁定的拉取请求或无数据
0/15OpenSSF Scorecard:Code-Review — Found 0/30 approved changesets -- score normalized to 0
所用输入
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
已排除计分(无数据或不适用):议题解决, PR 接受。 其余权重已重新归一化。
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
21.9/25所有者影响力 — openhab 有 1,112 位关注者
24.6/25既往记录 — 53 个公开仓库,账户约 14 年
所用输入
followers1,112
owner_typeOrganization
is_verified
owner_loginopenhab
public_repos53
account_age_days5,447

工程质量

基础的工程与文档实践是否到位?

34存在风险 · 占总体的 20%

工程实践

30存在风险
评分方式
0/24CI 工作流
24/24存在测试
0/16Linter 配置
0/9.6Pre-commit 钩子
0/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 无数据
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config
已排除计分(无数据或不适用):OpenSSF Scorecard:CI-Tests。 其余权重已重新归一化。

文档

40存在风险
评分方式
30/30README
0/25文档目录
0/15文档 / 主页站点
10/10仓库描述
0/10主题标签
0/10Wiki
所用输入
topics
has_wiki
homepage
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

15危急 · 占总体的 16%

安全态势

15危急
评分方式
0/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 无数据
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 29 contributing companies or organizations
0/10Dangerous-Workflow — 无数据
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
0/7.5Maintained — project is archived
0/5Packaging — 无数据
0/5Pinned-Dependencies — 无数据
0/5SAST — no SAST tool detected
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — 无数据
0/7.5Vulnerabilities — 142 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated12
scorecard_versionv5.5.0
checks_inconclusive6
scorecard_aggregate1.5
已排除计分(无数据或不适用):ci_tests, dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions。 其余权重已重新归一化。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

59中等 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 100 次人类提交中有 85 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.85
agent_instruction_files
agent_instruction_max_bytes
评分方式
12.6/18一条命令的引导启动 — bom/openhab-addons/pom.xml, bom/openhab-core-index/pom.xml, bom/pom.xml(工具链约定,无任务运行器)
22/22自动化测试
0/11Lint / 格式化配置
11/11静态类型检查 — Java(静态类型)
0/10可复现环境
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
0/8自动化维护 — 未观察到自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — 无数据
所用输入
has_nix
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0
toolchain_manifestsbom/openhab-addons/pom.xml, bom/openhab-core-index/pom.xml, bom/pom.xml, bom/runtime-index/pom.xml, bom/test-index/pom.xml, bundles/org.openhab.binding.adorne/pom.xml, bundles/org.openhab.binding.airquality/pom.xml, bundles/org.openhab.binding.airvisualnode/pom.xml, bundles/org.openhab.binding.alarmdecoder/pom.xml, bundles/org.openhab.binding.allplay/pom.xml, bundles/org.openhab.binding.amazondashbutton/pom.xml, bundles/org.openhab.binding.amazonechocontrol/pom.xml, bundles/org.openhab.binding.ambientweather/pom.xml, bundles/org.openhab.binding.astro/pom.xml, bundles/org.openhab.binding.atlona/pom.xml, bundles/org.openhab.binding.autelis/pom.xml, bundles/org.openhab.binding.automower/pom.xml, bundles/org.openhab.binding.avmfritz/pom.xml, bundles/org.openhab.binding.bigassfan/pom.xml, bundles/org.openhab.binding.bluetooth.airthings/pom.xml, bundles/org.openhab.binding.bluetooth.am43/pom.xml, bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml, bundles/org.openhab.binding.bluetooth.bluez/pom.xml, bundles/org.openhab.binding.bluetooth.blukii/pom.xml, bundles/org.openhab.binding.bluetooth.daikinmadoka/pom.xml, bundles/org.openhab.binding.bluetooth.roaming/pom.xml, bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml, bundles/org.openhab.binding.bluetooth/pom.xml, bundles/org.openhab.binding.boschindego/pom.xml, bundles/org.openhab.binding.bosesoundtouch/pom.xml, bundles/org.openhab.binding.bsblan/pom.xml, bundles/org.openhab.binding.bticinosmarther/pom.xml, bundles/org.openhab.binding.buienradar/pom.xml, bundles/org.openhab.binding.caddx/pom.xml, bundles/org.openhab.binding.cbus/pom.xml, bundles/org.openhab.binding.chromecast/pom.xml, bundles/org.openhab.binding.cm11a/pom.xml, bundles/org.openhab.binding.comfoair/pom.xml, bundles/org.openhab.binding.coolmasternet/pom.xml, bundles/org.openhab.binding.coronastats/pom.xml, bundles/org.openhab.binding.daikin/pom.xml, bundles/org.openhab.binding.danfossairunit/pom.xml, bundles/org.openhab.binding.darksky/pom.xml, bundles/org.openhab.binding.deconz/pom.xml, bundles/org.openhab.binding.denonmarantz/pom.xml, bundles/org.openhab.binding.digiplex/pom.xml, bundles/org.openhab.binding.digitalstrom/pom.xml, bundles/org.openhab.binding.dlinksmarthome/pom.xml, bundles/org.openhab.binding.dmx/pom.xml, bundles/org.openhab.binding.doorbird/pom.xml, bundles/org.openhab.binding.draytonwiser/pom.xml, bundles/org.openhab.binding.dscalarm/pom.xml, bundles/org.openhab.binding.dsmr/pom.xml, bundles/org.openhab.binding.dwdpollenflug/pom.xml, bundles/org.openhab.binding.dwdunwetter/pom.xml, bundles/org.openhab.binding.ecobee/pom.xml, bundles/org.openhab.binding.elerotransmitterstick/pom.xml, bundles/org.openhab.binding.energenie/pom.xml, bundles/org.openhab.binding.enigma2/pom.xml, bundles/org.openhab.binding.enocean/pom.xml, bundles/org.openhab.binding.enturno/pom.xml, bundles/org.openhab.binding.etherrain/pom.xml, bundles/org.openhab.binding.evohome/pom.xml, bundles/org.openhab.binding.exec/pom.xml, bundles/org.openhab.binding.feed/pom.xml, bundles/org.openhab.binding.feican/pom.xml, bundles/org.openhab.binding.fmiweather/pom.xml, bundles/org.openhab.binding.folding/pom.xml, bundles/org.openhab.binding.foobot/pom.xml, bundles/org.openhab.binding.freebox/pom.xml, bundles/org.openhab.binding.fronius/pom.xml, bundles/org.openhab.binding.fsinternetradio/pom.xml, bundles/org.openhab.binding.ftpupload/pom.xml, bundles/org.openhab.binding.gardena/pom.xml, bundles/org.openhab.binding.gce/pom.xml, bundles/org.openhab.binding.globalcache/pom.xml, bundles/org.openhab.binding.goecharger/pom.xml, bundles/org.openhab.binding.gpstracker/pom.xml, bundles/org.openhab.binding.gree/pom.xml, bundles/org.openhab.binding.groheondus/pom.xml, bundles/org.openhab.binding.harmonyhub/pom.xml, bundles/org.openhab.binding.hdanywhere/pom.xml, bundles/org.openhab.binding.hdpowerview/pom.xml, bundles/org.openhab.binding.helios/pom.xml, bundles/org.openhab.binding.heliosventilation/pom.xml, bundles/org.openhab.binding.heos/pom.xml, bundles/org.openhab.binding.homematic/pom.xml, bundles/org.openhab.binding.hpprinter/pom.xml, bundles/org.openhab.binding.hue/pom.xml, bundles/org.openhab.binding.hydrawise/pom.xml, bundles/org.openhab.binding.hyperion/pom.xml, bundles/org.openhab.binding.iammeter/pom.xml, bundles/org.openhab.binding.iaqualink/pom.xml, bundles/org.openhab.binding.icalendar/pom.xml, bundles/org.openhab.binding.icloud/pom.xml, bundles/org.openhab.binding.ihc/pom.xml, bundles/org.openhab.binding.innogysmarthome/pom.xml, bundles/org.openhab.binding.insteon/pom.xml, bundles/org.openhab.binding.intesis/pom.xml, bundles/org.openhab.binding.ipcamera/pom.xml, bundles/org.openhab.binding.ipp/pom.xml, bundles/org.openhab.binding.irtrans/pom.xml, bundles/org.openhab.binding.ism8/pom.xml, bundles/org.openhab.binding.jablotron/pom.xml, bundles/org.openhab.binding.jeelink/pom.xml, bundles/org.openhab.binding.kaleidescape/pom.xml, bundles/org.openhab.binding.keba/pom.xml, bundles/org.openhab.binding.km200/pom.xml, bundles/org.openhab.binding.knx/pom.xml, bundles/org.openhab.binding.kodi/pom.xml, bundles/org.openhab.binding.konnected/pom.xml, bundles/org.openhab.binding.kostalinverter/pom.xml, bundles/org.openhab.binding.kvv/pom.xml, bundles/org.openhab.binding.lametrictime/pom.xml, bundles/org.openhab.binding.lcn/pom.xml, bundles/org.openhab.binding.leapmotion/pom.xml, bundles/org.openhab.binding.lghombot/pom.xml, bundles/org.openhab.binding.lgtvserial/pom.xml, bundles/org.openhab.binding.lgwebos/pom.xml, bundles/org.openhab.binding.lifx/pom.xml, bundles/org.openhab.binding.linky/pom.xml, bundles/org.openhab.binding.linuxinput/pom.xml, bundles/org.openhab.binding.lirc/pom.xml, bundles/org.openhab.binding.logreader/pom.xml, bundles/org.openhab.binding.loxone/pom.xml, bundles/org.openhab.binding.luftdateninfo/pom.xml, bundles/org.openhab.binding.lutron/pom.xml, bundles/org.openhab.binding.magentatv/pom.xml, bundles/org.openhab.binding.mail/pom.xml, bundles/org.openhab.binding.max/pom.xml, bundles/org.openhab.binding.mcp23017/pom.xml, bundles/org.openhab.binding.melcloud/pom.xml, bundles/org.openhab.binding.meteoalerte/pom.xml, bundles/org.openhab.binding.meteoblue/pom.xml, bundles/org.openhab.binding.meteostick/pom.xml, bundles/org.openhab.binding.miele/pom.xml, bundles/org.openhab.binding.mihome/pom.xml, bundles/org.openhab.binding.miio/pom.xml, bundles/org.openhab.binding.milight/pom.xml, bundles/org.openhab.binding.millheat/pom.xml, bundles/org.openhab.binding.minecraft/pom.xml, bundles/org.openhab.binding.modbus.e3dc/pom.xml, bundles/org.openhab.binding.modbus.helioseasycontrols/pom.xml, bundles/org.openhab.binding.modbus.stiebeleltron/pom.xml, bundles/org.openhab.binding.modbus.studer/pom.xml, bundles/org.openhab.binding.modbus.sunspec/pom.xml, bundles/org.openhab.binding.modbus/pom.xml, bundles/org.openhab.binding.monopriceaudio/pom.xml, bundles/org.openhab.binding.mpd/pom.xml, bundles/org.openhab.binding.mqtt.generic/pom.xml, bundles/org.openhab.binding.mqtt.homeassistant/pom.xml, bundles/org.openhab.binding.mqtt.homie/pom.xml, bundles/org.openhab.binding.mqtt/pom.xml, bundles/org.openhab.binding.mystrom/pom.xml, bundles/org.openhab.binding.nanoleaf/pom.xml, bundles/org.openhab.binding.neato/pom.xml, bundles/org.openhab.binding.neeo/pom.xml, bundles/org.openhab.binding.neohub/pom.xml, bundles/org.openhab.binding.nest/pom.xml, bundles/org.openhab.binding.netatmo/pom.xml, bundles/org.openhab.binding.network/pom.xml, bundles/org.openhab.binding.networkupstools/pom.xml, bundles/org.openhab.binding.nibeheatpump/pom.xml, bundles/org.openhab.binding.nibeuplink/pom.xml, bundles/org.openhab.binding.nikobus/pom.xml, bundles/org.openhab.binding.nikohomecontrol/pom.xml, bundles/org.openhab.binding.novafinedust/pom.xml, bundles/org.openhab.binding.ntp/pom.xml, bundles/org.openhab.binding.nuki/pom.xml, bundles/org.openhab.binding.nuvo/pom.xml, bundles/org.openhab.binding.nzwateralerts/pom.xml, bundles/org.openhab.binding.oceanic/pom.xml, bundles/org.openhab.binding.ojelectronics/pom.xml, bundles/org.openhab.binding.omnikinverter/pom.xml, bundles/org.openhab.binding.onebusaway/pom.xml, bundles/org.openhab.binding.onewire/pom.xml, bundles/org.openhab.binding.onewiregpio/pom.xml, bundles/org.openhab.binding.onkyo/pom.xml, bundles/org.openhab.binding.opengarage/pom.xml, bundles/org.openhab.binding.opensprinkler/pom.xml, bundles/org.openhab.binding.openthermgateway/pom.xml, bundles/org.openhab.binding.openuv/pom.xml, bundles/org.openhab.binding.openweathermap/pom.xml, bundles/org.openhab.binding.openwebnet/pom.xml, bundles/org.openhab.binding.oppo/pom.xml, bundles/org.openhab.binding.orvibo/pom.xml, bundles/org.openhab.binding.paradoxalarm/pom.xml, bundles/org.openhab.binding.pentair/pom.xml, bundles/org.openhab.binding.phc/pom.xml, bundles/org.openhab.binding.pioneeravr/pom.xml, bundles/org.openhab.binding.pixometer/pom.xml, bundles/org.openhab.binding.pjlinkdevice/pom.xml, bundles/org.openhab.binding.plclogo/pom.xml, bundles/org.openhab.binding.plugwise/pom.xml, bundles/org.openhab.binding.powermax/pom.xml, bundles/org.openhab.binding.pulseaudio/pom.xml, bundles/org.openhab.binding.pushbullet/pom.xml, bundles/org.openhab.binding.radiothermostat/pom.xml, bundles/org.openhab.binding.regoheatpump/pom.xml, bundles/org.openhab.binding.rfxcom/pom.xml, bundles/org.openhab.binding.rme/pom.xml, bundles/org.openhab.binding.robonect/pom.xml, bundles/org.openhab.binding.rotel/pom.xml, bundles/org.openhab.binding.rotelra1x/pom.xml, bundles/org.openhab.binding.russound/pom.xml, bundles/org.openhab.binding.sagercaster/pom.xml, bundles/org.openhab.binding.samsungtv/pom.xml, bundles/org.openhab.binding.satel/pom.xml, bundles/org.openhab.binding.senechome/pom.xml, bundles/org.openhab.binding.seneye/pom.xml, bundles/org.openhab.binding.sensebox/pom.xml, bundles/org.openhab.binding.sensibo/pom.xml, bundles/org.openhab.binding.serialbutton/pom.xml, bundles/org.openhab.binding.shelly/pom.xml, bundles/org.openhab.binding.siemensrds/pom.xml, bundles/org.openhab.binding.silvercrestwifisocket/pom.xml, bundles/org.openhab.binding.sinope/pom.xml, bundles/org.openhab.binding.sleepiq/pom.xml, bundles/org.openhab.binding.smaenergymeter/pom.xml, bundles/org.openhab.binding.smartmeter/pom.xml, bundles/org.openhab.binding.smartthings/pom.xml, bundles/org.openhab.binding.smhi/pom.xml, bundles/org.openhab.binding.snmp/pom.xml, bundles/org.openhab.binding.solaredge/pom.xml, bundles/org.openhab.binding.solarlog/pom.xml, bundles/org.openhab.binding.somfymylink/pom.xml, bundles/org.openhab.binding.somfytahoma/pom.xml, bundles/org.openhab.binding.sonos/pom.xml, bundles/org.openhab.binding.sonyaudio/pom.xml, bundles/org.openhab.binding.sonyprojector/pom.xml, bundles/org.openhab.binding.spotify/pom.xml, bundles/org.openhab.binding.squeezebox/pom.xml, bundles/org.openhab.binding.synopanalyzer/pom.xml, bundles/org.openhab.binding.systeminfo/pom.xml, bundles/org.openhab.binding.tacmi/pom.xml, bundles/org.openhab.binding.tado/pom.xml, bundles/org.openhab.binding.tado/src/main/api/pom.xml, bundles/org.openhab.binding.tankerkoenig/pom.xml, bundles/org.openhab.binding.telegram/pom.xml, bundles/org.openhab.binding.teleinfo/pom.xml, bundles/org.openhab.binding.tellstick/pom.xml, bundles/org.openhab.binding.tesla/pom.xml, bundles/org.openhab.binding.tibber/pom.xml, bundles/org.openhab.binding.tplinksmarthome/pom.xml, bundles/org.openhab.binding.tradfri/pom.xml, bundles/org.openhab.binding.unifi/pom.xml, bundles/org.openhab.binding.upb/pom.xml, bundles/org.openhab.binding.upnpcontrol/pom.xml, bundles/org.openhab.binding.urtsi/pom.xml, bundles/org.openhab.binding.valloxmv/pom.xml, bundles/org.openhab.binding.vektiva/pom.xml, bundles/org.openhab.binding.velbus/pom.xml, bundles/org.openhab.binding.velux/pom.xml, bundles/org.openhab.binding.venstarthermostat/pom.xml, bundles/org.openhab.binding.verisure/pom.xml, bundles/org.openhab.binding.vigicrues/pom.xml, bundles/org.openhab.binding.vitotronic/pom.xml, bundles/org.openhab.binding.volvooncall/pom.xml, bundles/org.openhab.binding.weathercompany/pom.xml, bundles/org.openhab.binding.weatherunderground/pom.xml, bundles/org.openhab.binding.wemo/pom.xml, bundles/org.openhab.binding.wifiled/pom.xml, bundles/org.openhab.binding.windcentrale/pom.xml, bundles/org.openhab.binding.wlanthermo/pom.xml, bundles/org.openhab.binding.xmltv/pom.xml, bundles/org.openhab.binding.xmppclient/pom.xml, bundles/org.openhab.binding.yamahareceiver/pom.xml, bundles/org.openhab.binding.yeelight/pom.xml, bundles/org.openhab.binding.yioremote/pom.xml, bundles/org.openhab.binding.zoneminder/pom.xml, bundles/org.openhab.binding.zway/pom.xml, bundles/org.openhab.extensionservice.marketplace.automation/pom.xml, bundles/org.openhab.extensionservice.marketplace/pom.xml, bundles/org.openhab.io.homekit/pom.xml, bundles/org.openhab.io.hueemulation/pom.xml, bundles/org.openhab.io.imperihome/pom.xml, bundles/org.openhab.io.javasound/pom.xml, bundles/org.openhab.io.mqttembeddedbroker/pom.xml, bundles/org.openhab.io.neeo/pom.xml, bundles/org.openhab.io.openhabcloud/pom.xml, bundles/org.openhab.io.transport.modbus/pom.xml, bundles/org.openhab.io.webaudio/pom.xml, bundles/org.openhab.transform.bin2json/pom.xml, bundles/org.openhab.transform.exec/pom.xml, bundles/org.openhab.transform.javascript/pom.xml, bundles/org.openhab.transform.jinja/pom.xml, bundles/org.openhab.transform.jsonpath/pom.xml, bundles/org.openhab.transform.map/pom.xml, bundles/org.openhab.transform.regex/pom.xml, bundles/org.openhab.transform.scale/pom.xml, bundles/org.openhab.transform.xpath/pom.xml, bundles/org.openhab.transform.xslt/pom.xml, bundles/org.openhab.voice.googletts/pom.xml, bundles/org.openhab.voice.mactts/pom.xml, bundles/org.openhab.voice.marytts/pom.xml, bundles/org.openhab.voice.picotts/pom.xml, bundles/org.openhab.voice.pollytts/pom.xml, bundles/org.openhab.voice.voicerss/pom.xml, bundles/pom.xml, features/openhab-addons-external/pom.xml, features/openhab-addons/pom.xml, features/pom.xml, itests/org.openhab.binding.astro.tests/pom.xml, itests/org.openhab.binding.avmfritz.tests/pom.xml, itests/org.openhab.binding.feed.tests/pom.xml, itests/org.openhab.binding.hue.tests/pom.xml, itests/org.openhab.binding.max.tests/pom.xml, itests/org.openhab.binding.modbus.tests/pom.xml, itests/org.openhab.binding.mqtt.homeassistant.tests/pom.xml, itests/org.openhab.binding.mqtt.homie.tests/pom.xml, itests/org.openhab.binding.nest.tests/pom.xml, itests/org.openhab.binding.ntp.tests/pom.xml, itests/org.openhab.binding.systeminfo.tests/pom.xml, itests/org.openhab.binding.tradfri.tests/pom.xml, itests/org.openhab.binding.wemo.tests/pom.xml, itests/org.openhab.io.hueemulation.tests/pom.xml, itests/org.openhab.io.mqttembeddedbroker.tests/pom.xml, itests/pom.xml, pom.xml
dependency_bot_commit_share0
已排除计分(无数据或不适用):OpenSSF Scorecard:Pinned-Dependencies。 其余权重已重新归一化。
评分方式
45/45可类型检查的代码 — Java(静态类型)
54.9/55可控的文件大小 — 采样的 7,899 个源文件中有 18 个超过 60KB
所用输入
primary_languageJava
largest_source_bytes167,131
source_files_sampled7,899
oversized_source_files18
评分方式
40/40API 模式(OpenAPI/GraphQL/proto) — bundles/org.openhab.binding.enturno/src/main/resources/realtime_request.graphql
0/20MCP 服务器
40/40可运行示例 — sample
所用输入
example_dirssample
has_mcp_signal
api_schema_filesbundles/org.openhab.binding.enturno/src/main/resources/realtime_request.graphql

关键数据

8GitHub 星标
100贡献者
0最近 12 个月提交数
2,134距最近推送天数
35发布版本数
6巴士系数(bus factor)
0开放议题
Maven软件包生态系统数

数据采集警告

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Could not fetch maven package 'org.openhab.addons.bom:org.openhab.addons.bom.test-index' from its registry
  • Could not fetch maven package 'org.openhab.addons.bom:org.openhab.addons.bom.runtime-index' from its registry
  • Could not fetch maven package 'org.openhab.addons.bom:org.openhab.addons.bom.openhab-core-index' from its registry
  • Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.astro' from its registry
  • Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.adorne' from its registry
  • Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.atlona' from its registry
  • Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.allplay' from its registry
  • Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.autelis' from its registry
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

更多细节

Star 与 Fork 历史 0 ★ / 15 ⇿
0Star
15Fork

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

03581013151322020-102022-032023-08

每个点涵盖 3 天。

OpenSSF Scorecard 1.5 / 10
1.5综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-26 03:45 UTC

0Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
不适用CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 29 contributing companies or organizations
不适用Dangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject is archived
不适用Packagingpackaging workflow not detected
不适用Pinned-Dependenciesno dependencies found
0SASTno SAST tool detected
10Security-Policysecurity policy file detected
不适用Signed-Releasesno releases found
不适用Token-PermissionsNo tokens found
0Vulnerabilities142 existing vulnerabilities detected
直接依赖 310
注册表软件包版本约束清单文件
Mavenorg.apache.karaf.features:framework${karaf.version}bundles/pom.xml
Mavenorg.openhab.addons.bom:org.openhab.addons.bom.openhab-addons${project.version}features/pom.xml
Mavenorg.openhab.core.bom:org.openhab.core.bom.runtime${ohc.version}pom.xml
Mavenorg.codehaus.plexus:plexus-compiler-eclipse2.8.5pom.xml
Mavenorg.eclipse.jdt:ecj3.16.0pom.xml
Mavenorg.openhab.tools:openhab-codestyle0.10.0pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.adorne${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.airquality${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.airvisualnode${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.alarmdecoder${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.allplay${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.amazondashbutton${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.amazonechocontrol${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ambientweather${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.astro${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.atlona${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.autelis${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.automower${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.avmfritz${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bigassfan${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.airthings${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.am43${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.bluegiga${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.bluez${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.blukii${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.daikinmadoka${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.roaming${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bluetooth.ruuvitag${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.boschindego${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bosesoundtouch${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bsblan${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.bticinosmarther${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.buienradar${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.caddx${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.cbus${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.chromecast${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.cm11a${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.comfoair${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.coolmasternet${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.coronastats${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.daikin${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.danfossairunit${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.darksky${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.deconz${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.denonmarantz${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.digiplex${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.digitalstrom${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.dlinksmarthome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.dmx${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.doorbird${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.draytonwiser${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.dscalarm${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.dsmr${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.dwdpollenflug${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.dwdunwetter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ecobee${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.elerotransmitterstick${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.energenie${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.enigma2${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.enocean${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.enturno${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.etherrain${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.evohome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.exec${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.feed${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.feican${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.fmiweather${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.folding${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.foobot${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.freebox${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.fronius${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.fsinternetradio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ftpupload${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.gardena${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.gce${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.goecharger${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.globalcache${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.gpstracker${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.gree${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.groheondus${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.harmonyhub${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.hdanywhere${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.hdpowerview${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.helios${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.heliosventilation${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.heos${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.homematic${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.hpprinter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.hue${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.hydrawise${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.hyperion${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.iammeter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.iaqualink${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.icalendar${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.icloud${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ihc${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.innogysmarthome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.insteon${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ipcamera${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.intesis${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ipp${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.irtrans${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ism8${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.jablotron${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.jeelink${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.kaleidescape${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.keba${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.km200${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.knx${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.kodi${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.konnected${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.kostalinverter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.kvv${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lametrictime${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lcn${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.leapmotion${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lghombot${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lgtvserial${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lgwebos${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lifx${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.linky${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lirc${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.linuxinput${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.logreader${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.loxone${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.luftdateninfo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.lutron${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.magentatv${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mail${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.max${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mcp23017${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.melcloud${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.meteoalerte${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.meteoblue${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.meteostick${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.miele${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mihome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.miio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.millheat${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.milight${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.minecraft${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.modbus${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.modbus.e3dc${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.modbus.stiebeleltron${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.modbus.helioseasycontrols${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.monopriceaudio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mqtt${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mqtt.generic${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mqtt.homeassistant${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mqtt.homie${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mystrom${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nanoleaf${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.neato${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.neeo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.neohub${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nest${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.netatmo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.network${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.networkupstools${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nibeheatpump${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nibeuplink${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nikobus${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nikohomecontrol${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.novafinedust${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ntp${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nuki${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nuvo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.nzwateralerts${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.oceanic${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.ojelectronics${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.omnikinverter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.onebusaway${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.onewiregpio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.onewire${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.onkyo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.opengarage${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.opensprinkler${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.openthermgateway${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.openuv${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.openweathermap${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.openwebnet${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.oppo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.orvibo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.paradoxalarm${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.pentair${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.phc${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.pioneeravr${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.pixometer${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.pjlinkdevice${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.plclogo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.plugwise${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.powermax${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.pulseaudio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.pushbullet${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.radiothermostat${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.regoheatpump${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.rfxcom${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.rme${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.robonect${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.rotel${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.rotelra1x${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.russound${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sagercaster${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.samsungtv${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.satel${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.senechome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.seneye${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sensebox${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sensibo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.serialbutton${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.shelly${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.siemensrds${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sinope${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.silvercrestwifisocket${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sleepiq${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.smaenergymeter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.smartmeter${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.smartthings${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.smhi${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.snmp${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.solaredge${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.solarlog${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.somfytahoma${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.somfymylink${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sonos${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sonyaudio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.sonyprojector${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.spotify${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.squeezebox${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.modbus.studer${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.modbus.sunspec${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.mpd${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.synopanalyzer${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.systeminfo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tacmi${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tado${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tankerkoenig${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.telegram${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.teleinfo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tellstick${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tesla${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tibber${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tplinksmarthome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.tradfri${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.unifi${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.upnpcontrol${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.upb${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.urtsi${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.valloxmv${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.vektiva${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.volvooncall${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.velbus${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.velux${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.verisure${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.vigicrues${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.vitotronic${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.weathercompany${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.weatherunderground${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.wemo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.wifiled${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.windcentrale${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.wlanthermo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.xmltv${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.xmppclient${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.yamahareceiver${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.yeelight${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.zoneminder${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.binding.zway${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.extensionservice.marketplace${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.extensionservice.marketplace.automation${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.homekit${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.hueemulation${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.imperihome${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.javasound${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.neeo${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.openhabcloud${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.transport.modbus${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.mqttembeddedbroker${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.io.webaudio${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.bin2json${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.exec${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.javascript${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.jinja${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.jsonpath${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.map${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.regex${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.scale${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.xpath${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.transform.xslt${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.voice.googletts${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.voice.mactts${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.voice.marytts${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.voice.picotts${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.voice.pollytts${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.addons.bundles:org.openhab.voice.voicerss${project.version}bom/openhab-addons/pom.xml
Mavenorg.openhab.core.bom:org.openhab.core.bom.openhab-core${ohc.version}bom/openhab-core-index/pom.xml
Mavenorg.openhab.core.bom:org.openhab.core.bom.runtime${ohc.version}bom/runtime-index/pom.xml
Mavenorg.osgi:osgi.enroute.junit.wrapper4.12.0bom/test-index/pom.xml
Mavenorg.openhab.core.bom:org.openhab.core.bom.test${ohc.version}bom/test-index/pom.xml
Mavenorg.samba.jcifs:jcifs1.3.17bundles/org.openhab.binding.airvisualnode/pom.xml
Mavenorg.openhab.osgiify:de.kaizencode.tchaikovsky0.0.1bundles/org.openhab.binding.allplay/pom.xml
Mavennet.java.dev.jna:jna5.4.0bundles/org.openhab.binding.amazondashbutton/pom.xml
Mavenorg.pcap4j:pcap4j-core1.8.2bundles/org.openhab.binding.amazondashbutton/pom.xml
Mavenorg.pcap4j:pcap4j-packetfactory-static1.8.2bundles/org.openhab.binding.amazondashbutton/pom.xml
Mavenorg.openhab.osgiify:io.socket.socket.io-client1.0.0bundles/org.openhab.binding.ambientweather/pom.xml
Mavenorg.openhab.osgiify:io.socket.engine.io-client1.0.0bundles/org.openhab.binding.ambientweather/pom.xml
Mavenorg.apache.servicemix.bundles:org.apache.servicemix.bundles.okhttp3.8.1_1bundles/org.openhab.binding.ambientweather/pom.xml
Mavenorg.apache.servicemix.bundles:org.apache.servicemix.bundles.okio1.13.0_1bundles/org.openhab.binding.ambientweather/pom.xml
Mavenorg.json:json20180813bundles/org.openhab.binding.ambientweather/pom.xml
全部依赖 未采集

本报告未能采集到解析后的依赖集合:GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 378272,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "C": 17148,
        "Awk": 9404,
        "C++": 18428,
        "CSS": 7735,
        "HTML": 68148,
        "Java": 35079979,
        "XSLT": 313,
        "Shell": 4828,
        "Xtend": 9455,
        "Groovy": 36509,
        "Batchfile": 1792,
        "JavaScript": 40490
      },
      "pushed_at": "2020-09-20T21:14:19Z",
      "created_at": "2020-09-20T17:53:00Z",
      "owner_type": "Organization",
      "updated_at": "2026-05-12T15:49:40Z",
      "description": "This is an archive of the full history of the openhab2-addons repo.",
      "is_archived": true,
      "is_disabled": false,
      "license_spdx": "EPL-2.0",
      "default_branch": "2.5.x",
      "license_spdx_raw": "EPL-2.0",
      "primary_language": "Java",
      "significant_languages": [
        "Java"
      ]
    },
    "owner": {
      "blog": "http://www.openHAB.org",
      "name": "openHAB",
      "type": "Organization",
      "login": "openhab",
      "company": null,
      "location": "Germany",
      "followers": 1112,
      "avatar_url": "https://avatars.githubusercontent.com/u/1007353?v=4",
      "created_at": "2011-08-26T20:11:19Z",
      "is_verified": null,
      "public_repos": 53,
      "account_age_days": 5447
    },
    "license": {
      "state": "standard",
      "spdx_id": "EPL-2.0",
      "raw_spdx": "EPL-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "2.5.9",
          "kind": "patch",
          "published_at": "2020-09-20T13:28:13Z"
        },
        {
          "tag": "2.5.8",
          "kind": "patch",
          "published_at": "2020-08-23T10:55:47Z"
        },
        {
          "tag": "2.5.7",
          "kind": "patch",
          "published_at": "2020-07-23T10:43:31Z"
        },
        {
          "tag": "2.5.6",
          "kind": "patch",
          "published_at": "2020-06-21T11:51:10Z"
        },
        {
          "tag": "2.5.5",
          "kind": "patch",
          "published_at": "2020-05-17T11:04:08Z"
        },
        {
          "tag": "2.5.4",
          "kind": "patch",
          "published_at": "2020-04-19T10:20:55Z"
        },
        {
          "tag": "2.5.3",
          "kind": "patch",
          "published_at": "2020-03-19T13:43:33Z"
        },
        {
          "tag": "2.5.2",
          "kind": "patch",
          "published_at": "2020-02-20T00:18:11Z"
        },
        {
          "tag": "2.5.1",
          "kind": "patch",
          "published_at": "2020-01-12T12:48:49Z"
        },
        {
          "tag": "2.5.0",
          "kind": "minor",
          "published_at": "2019-12-15T17:21:48Z"
        },
        {
          "tag": "2.4.0",
          "kind": "minor",
          "published_at": "2018-12-16T23:29:19Z"
        },
        {
          "tag": "2.3.0",
          "kind": "minor",
          "published_at": "2018-05-28T00:41:28Z"
        },
        {
          "tag": "2.2.0",
          "kind": "minor",
          "published_at": "2017-12-18T09:08:45Z"
        },
        {
          "tag": "2.1.0",
          "kind": "minor",
          "published_at": "2017-06-27T18:58:02Z"
        },
        {
          "tag": "2.0.0-alpha2",
          "kind": "prerelease",
          "published_at": "2015-05-25T21:50:09Z"
        },
        {
          "tag": "2.0.0-alpha1",
          "kind": "prerelease",
          "published_at": "2014-11-23T21:45:10Z"
        },
        {
          "tag": "v1.8.2",
          "kind": "patch",
          "published_at": "2016-03-22T00:03:23Z"
        },
        {
          "tag": "v1.8.1",
          "kind": "patch",
          "published_at": "2016-02-01T22:09:25Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2016-01-10T23:31:58Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2015-07-31T22:09:34Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2015-05-25T23:38:39Z"
        },
        {
          "tag": "v1.6.2",
          "kind": "patch",
          "published_at": "2015-01-29T14:32:41Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2014-11-29T21:57:00Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2014-11-23T23:03:22Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2014-09-07T18:47:02Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2014-06-16T00:31:08Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2014-02-09T19:46:28Z"
        },
        {
          "tag": "1.3.0",
          "kind": "minor",
          "published_at": "2013-09-08T16:09:39Z"
        },
        {
          "tag": "1.1.0",
          "kind": "minor",
          "published_at": "2012-12-16T19:30:01Z"
        },
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2012-08-17T21:55:29Z"
        },
        {
          "tag": "0.9.1",
          "kind": "patch",
          "published_at": "2012-02-23T16:04:37Z"
        },
        {
          "tag": "0.8.0",
          "kind": "minor",
          "published_at": "2011-08-11T20:50:13Z"
        },
        {
          "tag": "0.7.1",
          "kind": "patch",
          "published_at": "2011-05-31T10:15:18Z"
        },
        {
          "tag": "0.7.0",
          "kind": "minor",
          "published_at": "2011-05-22T16:36:19Z"
        },
        {
          "tag": "0.6.0",
          "kind": "minor",
          "published_at": "2011-02-28T16:28:36Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "2d957b7cdab75827c7995c380a16368428167003",
          "body": "Signed-off-by: Kai Kreuzer <kai@openhab.org>",
          "is_bot": false,
          "headline": "applied spotless formatter",
          "author_name": "Kai Kreuzer",
          "author_login": "kaikreuzer",
          "committed_at": "2020-09-20T21:12:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c524231655ace3015490f1cbeac72c53fd0a380",
          "body": null,
          "is_bot": false,
          "headline": "Updated README to notify that this is an archive.",
          "author_name": "Kai Kreuzer",
          "author_login": "kaikreuzer",
          "committed_at": "2020-09-20T20:48:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "700ddaa2065db88fb3169bbfe35e306d086329a1",
          "body": null,
          "is_bot": false,
          "headline": "Preparation for tag creation (Tag name: '2.5.9').",
          "author_name": "jenkins",
          "author_login": null,
          "committed_at": "2020-09-20T13:28:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f11ddbc2a32aa2320f3fa25b347488669f993ae7",
          "body": "…replace issue. (#8501)\n\nSigned-off-by: Matthew Skinner <matt@pcmus.com>",
          "is_bot": false,
          "headline": "[ipcamera] Fix not handling null on MAP<>, and log messages had find/…",
          "author_name": "Matthew Skinner",
          "author_login": "Skinah",
          "committed_at": "2020-09-20T07:47:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "103182417b9abc731e174184c42f1a8099ac8c3c",
          "body": "…8390)\n\n* [mqtt][homie] Improve Homie initialization process for big devices\r\n\r\nSigned-off-by: Aitor Iturrioz <riturrioz@gmail.com>",
          "is_bot": false,
          "headline": "[mqtt][homie] Improve Homie initialization process for big devices (#…",
          "author_name": "Aitor Iturrioz",
          "author_login": "bodiroga",
          "committed_at": "2020-09-20T02:45:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bdd7628ee84707e933b372259618471cac8d8d96",
          "body": "Signed-off-by: Dan Cunningham <dan@digitaldan.com>",
          "is_bot": false,
          "headline": "[venstarthermostat] Updates README (#8500)",
          "author_name": "Dan Cunningham",
          "author_login": "digitaldan",
          "committed_at": "2020-09-20T02:44:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27efd36aa4e7e37e547c5fab0e35455d0fc54f80",
          "body": "…ion option. (#8498)\n\nSigned-off-by: Dan Cunningham <dan@digitaldan.com>",
          "is_bot": false,
          "headline": "[venstarthermostat] Moves 'url' from a thing property to a configurat…",
          "author_name": "Dan Cunningham",
          "author_login": "digitaldan",
          "committed_at": "2020-09-19T23:38:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e340f7c66e643f0600d485f2e327582d3a16409d",
          "body": "* fixes representation propery key in discovery, adds thing documentation, removes some blank lines, adds author to CODEOWNERS, runs spotless formatter.\r\n\r\nSigned-off-by: Dan Cunningham <dan@digitaldan.com>",
          "is_bot": false,
          "headline": "[venstarthermostat] PR related fixes (#8497)",
          "author_name": "Dan Cunningham",
          "author_login": "digitaldan",
          "committed_at": "2020-09-19T23:00:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7f18088fe3a55fdb999ead8a6069649b5c68b03",
          "body": "* fix 1\r\n\r\nSigned-off-by: Matthew Skinner <matt@pcmus.com>\r\n\r\nCo-authored-by: Hilbrand Bouwkamp <hilbrand@h72.nl>\r\nCo-authored-by: Fabian Wolter <github@fabian-wolter.de>\r\nCo-authored-by: Connor Petty <mistercpp2000+gitsignoff@gmail.com>",
          "is_bot": false,
          "headline": "[IpCamera] New binding for cameras - Initial Contribution (#8329)",
          "author_name": "Matthew Skinner",
          "author_login": "Skinah",
          "committed_at": "2020-09-19T22:43:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36b108579405e2a724823206115d3e06cafef68b",
          "body": "Signed-off-by: Maximilian Hess <mail@ne0h.de>",
          "is_bot": false,
          "headline": "[kvv] KVV Binding initial contribution (#6484)",
          "author_name": "Maximilian Heß",
          "author_login": "ne0h",
          "committed_at": "2020-09-19T22:32:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdbceb718d239c0422a090b3ef3be6f8833eb8af",
          "body": "* Initial Smartthings commit\r\n\r\nSigned-off-by: Bob Raker <rjraker@gmail.com>\r\n\r\n* Added support for washing machines\r\n\r\nSigned-off-by: Bob Raker <rjraker@gmail.com>\r\n\r\n* Update bundles/org.openhab.binding.smartthings/README.md\r\n\r\nCo-authored-by: Fabian Wolter <github@fabian-wolter.de>\r\nSigned-off-by\n[…]\n\r\n* Hopefully final code review changes and added the ability to update Thing network timeout\r\n\r\nSigned-off-by: Bob Raker <rjraker@gmail.com>\r\n\r\nCo-authored-by: Fabian Wolter <github@fabian-wolter.de>",
          "is_bot": false,
          "headline": "[smartthings] Initial contribution (#7550)",
          "author_name": "Bob Raker",
          "author_login": "BobRak",
          "committed_at": "2020-09-19T21:47:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fcf695133a44dd1a64d1c8f53628386ad825c804",
          "body": "Signed-off-by: Markus Pfleger <pfleger_markus@gmx.at>",
          "is_bot": false,
          "headline": "[automower] Initial contribution of the automower binding (#8050)",
          "author_name": "maxpg",
          "author_login": "maxpg",
          "committed_at": "2020-09-19T21:47:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21bfd9f42bf0b66c2bb85d06a7f8b4aba98240ea",
          "body": "Signed-off-by: David Dempsey <24881248+ddempsey3@users.noreply.github.com>",
          "is_bot": false,
          "headline": "[alarmdecoder] allow keypad messages with !KPM: (#8261)",
          "author_name": "David Dempsey",
          "author_login": "ddempsey3",
          "committed_at": "2020-09-19T21:34:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec81e91fd972512c593466009c532485eb478733",
          "body": "Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>",
          "is_bot": false,
          "headline": "Catch exception thrown by rfc2217 serial port (#8496)",
          "author_name": "olivierkeke",
          "author_login": "olivierkeke",
          "committed_at": "2020-09-19T21:27:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf94700817169e90125836399655129789a2353a",
          "body": "…cal API support (#7054)\n\nThis bundle provides support for Venstar thermostats with Local API support (such as ColorTouch, Voyager and Explorer). This binding includes device autodiscovery and full read/write support using the Venstar local API.\r\n\r\nIncludes feedback and contributions (as noted in the source) from @digitaldan.\r\n\r\nThis contribution is ready for review.\r\n\r\nSigned-off-by: William Welliver <william@welliver.org>",
          "is_bot": false,
          "headline": "[venstarthermostat] Initial contribution: Venstar thermostats with Lo…",
          "author_name": "Bill Welliver",
          "author_login": "hww3",
          "committed_at": "2020-09-19T21:22:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2120a4a583bd5156a6323ec59d9fe14bef88e96",
          "body": "Signed-off-by: Bernd <bernd.weymann@gmail.com>",
          "is_bot": false,
          "headline": "[luftdateninfo] new binding (#7914)",
          "author_name": "Bernd Weymann",
          "author_login": "weymann",
          "committed_at": "2020-09-19T21:11:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee6537ce0484973ea1ff8915e5b5f235480dcdf7",
          "body": "…#6336)\n\nSigned-off-by: Hans-Reiner Hoffmann <hans-reiner.hoffmann@gmx.de>",
          "is_bot": false,
          "headline": "[ISM8] New binding for Wolf heating systems using an ISM8 interface (…",
          "author_name": "Hans-Reiner",
          "author_login": "Hans-Reiner",
          "committed_at": "2020-09-19T20:57:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0447658114763590f8c6b6e771402b4ad60e8328",
          "body": "…n (#8250)\n\nSigned-off-by: Bernhard Bauer <bern77@gmail.com>",
          "is_bot": false,
          "headline": "[helioseasycontrols] Modbus: HeliosEasyControls - Initial Contributio…",
          "author_name": "Bernhard Bauer",
          "author_login": "bern77",
          "committed_at": "2020-09-19T20:51:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cb4601c9cc7b1fec3afb49ab2479758150862a5",
          "body": "Signed-off-by: Michael Loercher <MichaelLoercher@web.de>",
          "is_bot": false,
          "headline": "[yioremote]YIO Remote Binding initial contribution (#8394)",
          "author_name": "miloit",
          "author_login": "miloit",
          "committed_at": "2020-09-19T20:48:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75f62cc75559ff99592817c8e26c5dd72430ae73",
          "body": "* [wlanthermo] Initial contribution\r\n\r\nSigned-off-by: Christian Schlipp <christian@schlipp.de>",
          "is_bot": false,
          "headline": "[WlanThermo] Initial contribution (#8209)",
          "author_name": "CSchlipp",
          "author_login": "CSchlipp",
          "committed_at": "2020-09-19T15:32:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5925f8aa884790be2a4f0a2291b5fc781ddbe3d",
          "body": "…res. (#8464)\n\n* Minor corrections in readme + addition of the VMB1RYS module.\r\n* Added network bridge\r\n* Breaking changes a number of channels to group based channels.\r\n \r\nSigned-off-by: Cedric Boon <cedric.boon@hotmail.com>",
          "is_bot": false,
          "headline": "[velbus] Added support for additional Velbus modules and module featu…",
          "author_name": "cedricboon",
          "author_login": "cedricboon",
          "committed_at": "2020-09-19T10:17:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e22b83adf0135ff99f031dde856cfff77b33a7e6",
          "body": "…stems (#8231)\n\n* Intesis Binding - initial contribution\r\n\r\nSigned-off-by: Hans-Jörg Merk <github@hmerk.de>",
          "is_bot": false,
          "headline": "[intesis] New Binding for Intesis WiFi adapters used in various AC sy…",
          "author_name": "Hans-Jörg Merk",
          "author_login": "hmerk",
          "committed_at": "2020-09-19T07:37:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afff1efea944b110744afb70235a8c7300b83172",
          "body": "Signed-off-by: Connor Petty <mistercpp2000+gitsignoff@gmail.com>",
          "is_bot": false,
          "headline": "[bluetooth] Add support for devices jumping between adapters. (#7199)",
          "author_name": "cpmeister",
          "author_login": "cpmeister",
          "committed_at": "2020-09-19T06:39:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "362d599e67dbe35ab94fbae2a21da6295bdbb2ff",
          "body": "Also-by: Korbinian Probst <kp.droid.dev@gmail.com>\r\nSigned-off-by: Steven Schwarznau <steven.schwarznau@gmail.com>",
          "is_bot": false,
          "headline": "[senechome] Senec Home Batteries Binding initial contribution (#6076)",
          "author_name": "Steven Schwarznau",
          "author_login": "vctender",
          "committed_at": "2020-09-18T21:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b02a07aff727fed8f8144e9fa036abcaee5f7603",
          "body": "Fix #8162\r\n\r\nSigned-off-by: Laurent Garnier <lg.hc@free.fr>",
          "is_bot": false,
          "headline": "[netatmo] Make thing offline if API returns unreachable (#8195)",
          "author_name": "lolodomo",
          "author_login": "lolodomo",
          "committed_at": "2020-09-18T19:45:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96c102e1cebca486d774fbd58e4e5bc919f49239",
          "body": "* Wrong channel description\r\n* Added a French synop database, so auto discovery is now possible.\r\n\r\nSigned-off-by: Gaël L'hopital <gael@lhopital.org>",
          "is_bot": false,
          "headline": "[SynopAnalyzer] Binding review, and autodiscovery (#8486)",
          "author_name": "Gaël L'hopital",
          "author_login": "clinique",
          "committed_at": "2020-09-18T13:34:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41e5ff344331638c11ed51a9ff7834d8cf47d4aa",
          "body": "Signed-off-by: Marcus Better <marcus@better.se>",
          "is_bot": false,
          "headline": "[upb] UPB Binding initial contribution (#6742)",
          "author_name": "Marcus Better",
          "author_login": "marcusb",
          "committed_at": "2020-09-18T12:40:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "321e1d02b3b6b740a39b802622a770b81aeff326",
          "body": "* [miio] Remove non-responsive channels for dreame v8. These channels are existing but return a null as response\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[miio] Fix maven warning for dynamic channel (#8490)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-18T10:46:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1847140f59ce26876513faa76280f1494a41cfd",
          "body": "Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[miio] Offline mapviewer fix command formatting (#8489)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-18T10:09:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa33c5dac63264e25a9e6ccb055b727c8f874014",
          "body": "Signed-off-by: Ondrej Pecta <opecta@gmail.com>",
          "is_bot": false,
          "headline": "[somfytahoma] code cleanup (#8488)",
          "author_name": "Ondrej Pecta",
          "author_login": "octa22",
          "committed_at": "2020-09-17T21:05:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0be78648248e572f3e0c508a023f9bf4f50e6f63",
          "body": "* [miio] add automatic tokens to miio MDNSDiscoveryParticipant\r\n\r\n* get tokens from cloud if possible and add them during discovery.\r\n(similar to the other discovery method)\r\n* [miio] Update from feedback on cloudconnector in discovery\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[miio] add automatic tokens to miio MDNSDiscoveryParticipant (#8485)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-17T18:26:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbe310479ac801a22a76b381235cb3cec078929a",
          "body": "…7526)\n\nSigned-off-by: Christoph Weitkamp <github@christophweitkamp.de>",
          "is_bot": false,
          "headline": "[max] Added 'ThingActions' to handle reboot and other Cube actions (#…",
          "author_name": "Christoph Weitkamp",
          "author_login": "cweitkamp",
          "committed_at": "2020-09-17T06:02:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0f09db3c200106cd0a685947d69f8d1055154b0",
          "body": "…) (#8477)\n\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[miio] Control channel for Vacuum 1C STYTJ01ZHM (dreame.vacuum.mc1808…",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-17T06:00:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c44c568e46a668167c6d73bf7241351b98acd6bd",
          "body": "…(#8463)\" (#8484)\n\nThis reverts commit 7352a188523f4cca2de6ff6ea7f1e4a5041c8add.",
          "is_bot": false,
          "headline": "Revert \"[miio] add automatic tokens to miio MDNSDiscoveryParticipant …",
          "author_name": "cpmeister",
          "author_login": "cpmeister",
          "committed_at": "2020-09-16T22:58:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7352a188523f4cca2de6ff6ea7f1e4a5041c8add",
          "body": "* [miio] add automatic tokens to miio MDNSDiscoveryParticipant\r\n\r\n* get tokens from cloud if possible and add them during discovery.\r\n(similar to the other discovery method)\r\n\r\n* [miio] Update from feedback on cloudconnector in discovery\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[miio] add automatic tokens to miio MDNSDiscoveryParticipant (#8463)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-16T22:57:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52e5b0743b18de215a59bdacd0be97c714333920",
          "body": "Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>",
          "is_bot": false,
          "headline": "[kaleidescape] update README.md for individual thing types (#8480)",
          "author_name": "mlobstein",
          "author_login": "mlobstein",
          "committed_at": "2020-09-16T18:34:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4485b627ded80710de874fba76ed96ebd1e77a0d",
          "body": "* Don't set status to OFFLINE when already OFFLINE\r\n* Avoid endless loop on command\r\n\r\nSigned-off-by: Markus Michels <markus7017@gmail.com>",
          "is_bot": false,
          "headline": "[gree] Fix endless loop in command handler (previous PR) (#8481)",
          "author_name": "Markus Michels",
          "author_login": "markus7017",
          "committed_at": "2020-09-16T18:31:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa2cdfbcfe4faa6c5106e1de50ee0670f80f08d4",
          "body": "Signed-off-by: Markus Michels <markus7017@gmail.com>",
          "is_bot": false,
          "headline": "[gree] Don't set status to OFFLINE when already OFFLINE (#8476)",
          "author_name": "Markus Michels",
          "author_login": "markus7017",
          "committed_at": "2020-09-16T07:04:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2758ab4a85da6120cd9eaff2b6ebfdf6c461a40f",
          "body": "* Adding retries for status pool and api request\r\n* README updated\r\n* Implements #8330: Swing Up/Down values 0-11\r\n* Missing text resources added for V-SwingUpDown 7-11\r\n\r\nSigned-off-by: Markus Michels <markus7017@gmail.com>",
          "is_bot": false,
          "headline": "[gree] Minor improvements (#8472)",
          "author_name": "Markus Michels",
          "author_login": "markus7017",
          "committed_at": "2020-09-15T19:27:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "efa357fcd12a5ddc3b3d683c1cf65ce15638496b",
          "body": "Signed-off-by: Markus Michels <markus7017@gmail.com>",
          "is_bot": false,
          "headline": "[magentatv] Initial contribution (aka EntertainTV) (#7864)",
          "author_name": "Markus Michels",
          "author_login": "markus7017",
          "committed_at": "2020-09-15T19:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7960a526fb09b07ec371dd931a9d994892da71f2",
          "body": "This deprecated method constructor was removed in OH3.\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "Fix add-ons port (#8474)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-15T17:49:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3db0cb125ce91a03cf1340ce33f081090c47a57",
          "body": "Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>",
          "is_bot": false,
          "headline": "Fixed add-ons port build (#8473)",
          "author_name": "Christoph Weitkamp",
          "author_login": "cweitkamp",
          "committed_at": "2020-09-15T13:34:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85acff6d415abbe155e3969e010e90bf0aab8ca6",
          "body": "…lKWH channel (#8471)\n\n* New channels device#deviceName and relay#channelName; skip button trigger when binding was started; StringUtils  eplaced by native Java string operations\r\n* Channel relay#channelName renamed to relay#outputName; channel definition for Dimmer/Dimmer2 corrected (the is no grou\n[…]\nCloses #8470: Fix accumulatedTotalWatts for emeter\r\n* Don't create meter channels for Shelly Bulb (JSON has meter, but values are never updated)\r\n\r\nSigned-off-by: Markus Michels <markus7017@gmail.com>",
          "is_bot": false,
          "headline": "[shelly] Bug Fixes for Sensor Action events and EM3's accumulatedTota…",
          "author_name": "Markus Michels",
          "author_login": "markus7017",
          "committed_at": "2020-09-15T13:19:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "197276bd39fea39f86858d433f67786e9b75457e",
          "body": "…on (#7568)\n\nSigned-off-by: Michael Lobstein <michael.lobstein@gmail.com>",
          "is_bot": false,
          "headline": "[kaleidescape] Kaleidescape Movie Player Binding - initial contributi…",
          "author_name": "mlobstein",
          "author_login": "mlobstein",
          "committed_at": "2020-09-15T11:23:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1229ca3fde8fd757df6fdf8591801f5b399ce66e",
          "body": "Signed-off-by:  Gaël L'hopital <gael@lhopital.org>",
          "is_bot": false,
          "headline": "[gce] GCE Binding initial contribution (#5457)",
          "author_name": "Gaël L'hopital",
          "author_login": "clinique",
          "committed_at": "2020-09-15T11:11:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cac4a9994ebc3873a3570fe016b0cf1ac8d050dd",
          "body": "* [max] cleanup several warnings\r\n\r\n* cleared many warnings mainly notnullbydefault\r\n* replace apache base64\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[max] Remove org.apache.commons dependency and added annotations (#8458)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-15T05:40:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5594f5c2c30a85212071b6a1f8348b71d87ac028",
          "body": "* Added a Table of Contents to this large document.\r\n* Small changes to 'length' and 'Discovery' descriptions.\r\n* \"Generalized\" the comment about poller length limits.\r\nI wasn't happy with it really, new parameter validation replaces much explanation :)\r\n\r\nSigned-off-by Ross Kennedy <rossko@culzean.clara.co.uk>",
          "is_bot": false,
          "headline": "[modbus] Update README.md (#8228)",
          "author_name": "Ross Kennedy",
          "author_login": "Rossko57",
          "committed_at": "2020-09-14T15:29:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de1d2a35e8d331f8ebfc908347e0cd1254e0cdc6",
          "body": "Signed-off-by: Ondrej Pecta <opecta@gmail.com>",
          "is_bot": false,
          "headline": "[jablotron] Jablotron binding initial contribution (#6990)",
          "author_name": "Ondrej Pecta",
          "author_login": "octa22",
          "committed_at": "2020-09-13T20:34:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c34ca5a52fe686551fca89c2b41600afd3164b5f",
          "body": "Closes $8438\r\n\r\nSigned-off-by: Christian Höfler <github@seeage.com>",
          "is_bot": false,
          "headline": "[nuki] Add smart lock door sensor state as new channel (#8438) (#8440)",
          "author_name": "Christian Höfler",
          "author_login": "SeeAge",
          "committed_at": "2020-09-13T19:53:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3357c5d71da7438a0e778b59696d7ba87d34f8a7",
          "body": "While moving from eclipse smarthome, we should change the name of our application to identify against the digitalSTROM installation.\r\n\r\nSigned-off-by: Hans-Jörg Merk github@hmerk.de",
          "is_bot": false,
          "headline": "[digitalSTROM] Change application Name for creating access token (#8467)",
          "author_name": "Hans-Jörg Merk",
          "author_login": "hmerk",
          "committed_at": "2020-09-13T19:39:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "186da7060186e40e393702ef22ea5a6c3b5adea5",
          "body": "Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>",
          "is_bot": false,
          "headline": "[kodi] Changed 'systemcommand' channel to command options (#7369)",
          "author_name": "Christoph Weitkamp",
          "author_login": "cweitkamp",
          "committed_at": "2020-09-13T16:02:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18c9854110dcc43e2ff93fb6f0a7f111bc2462b6",
          "body": "Closes #8460\r\n\r\nSigned-off-by: Sami Salonen <ssalonen@gmail.com>",
          "is_bot": false,
          "headline": "[modbus] Ensure idle connections in pool (#8461)",
          "author_name": "Sami Salonen",
          "author_login": "ssalonen",
          "committed_at": "2020-09-13T13:43:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba093ef25ee7fe00adc9322de5c0fa6767e87302",
          "body": "Accepted without sign-off under the small document change excemption.",
          "is_bot": false,
          "headline": "[evohome] Added units to the refresh rate in the README.md (#8459)",
          "author_name": "Luke West",
          "author_login": "lukewest",
          "committed_at": "2020-09-13T13:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c947b924865e08fafaa01a951c5b05a13aa04c6e",
          "body": "* [mqtt.generic] Add CIE xyY color support\r\n\r\nSigned-off-by: Aitor Iturrioz <riturrioz@gmail.com>",
          "is_bot": false,
          "headline": "[mqtt.generic] Add CIE xyY color support (#8312)",
          "author_name": "Aitor Iturrioz",
          "author_login": "bodiroga",
          "committed_at": "2020-09-13T06:40:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85f8c464563c4f0587ada0ff696a87d2f734a0d3",
          "body": "Signed-off-by: Dan Cunningham <dan@digitaldan.com>",
          "is_bot": false,
          "headline": "[tplinksmarthome] Use the representation property key properly (#8465)",
          "author_name": "Dan Cunningham",
          "author_login": "digitaldan",
          "committed_at": "2020-09-12T19:57:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58e9eb9b629a463684f4c51e8d72ca5b01c6fe09",
          "body": "…ng (#8396)\n\nSigned-off-by: Markus Michels <markus7017@gmail.com>",
          "is_bot": false,
          "headline": "[shelly] Add channels device#deviceName, relay#outputName + refactori…",
          "author_name": "Markus Michels",
          "author_login": "markus7017",
          "committed_at": "2020-09-12T13:35:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "314c283a443ece1b09e6e625f9c82c55b623734a",
          "body": "…ec (#8370)\n\n* Related to discussion in #8228\r\n* Documented where the limits come from.\r\n* Internet is full of interpretation and variations. We follow the spec.\r\n\r\nSigned-off-by: Sami Salonen <ssalonen@gmail.com>",
          "is_bot": false,
          "headline": "[modbus] Validate poller count and write count according to modbus sp…",
          "author_name": "Sami Salonen",
          "author_login": "ssalonen",
          "committed_at": "2020-09-12T13:32:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d228f7336a5ca3603097ad80b3231e81127da464",
          "body": "* Newer pool2 resolves many bugs present in the old version.\r\n* Hacky workaround for faultiness of setEvictionPolicyClassName(String) in OSGi (POOL-338) is not needed anymore, thanks to new setEvictionPolicy(EvictionPolicy).\r\n* Codeowners update for modbus itests\r\n\r\nSigned-off-by: Sami Salonen <ssalonen@gmail.com>",
          "is_bot": false,
          "headline": "[modbus] Update apache commons pool2 to latest version (#8411)",
          "author_name": "Sami Salonen",
          "author_login": "ssalonen",
          "committed_at": "2020-09-12T11:50:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a41dfc93ff553f137abcfc3d7e21053984c7e14d",
          "body": "Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>",
          "is_bot": false,
          "headline": "[opensprinkler] Fix hardcoded network prefix (#8456)",
          "author_name": "mlobstein",
          "author_login": "mlobstein",
          "committed_at": "2020-09-12T04:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c900d8c6a877316decd76c4749d67986a60aab3",
          "body": "Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>",
          "is_bot": false,
          "headline": "Fixes missing bindings from bom pom.xml (#8453)",
          "author_name": "Hilbrand Bouwkamp",
          "author_login": "Hilbrand",
          "committed_at": "2020-09-12T04:18:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec5370a3b850341b68c7e9354ab63e818255d61b",
          "body": "Signed-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[plugwise] Use OH thread naming scheme and constructor injection (#8454)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-11T21:32:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c001ed5ba2762019541423a18b80b07fcadffb2",
          "body": "These changes were necessary to fix errors when opening these projects in Eclipse.\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "Add and fix Eclipse .project, .classpath files (#8450)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-11T13:05:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "623eb57f5ed6953734afc6873d0ff5d0abad01c1",
          "body": "Migrated from the openHAB 1 version.\r\n\r\nSigned-off-by: Christian Niessner <github-marvkis@christian-niessner.de>",
          "is_bot": false,
          "headline": "[tacmi] Initial contribution tacmi binding (#7768)",
          "author_name": "Christian Niessner",
          "author_login": "marvkis",
          "committed_at": "2020-09-11T12:51:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8ab3d0c7fcb19651c25fbcf8969dbe8d64b683e",
          "body": "Fixes exceptions thrown in OH3 when building discovery results for things with bridges where the thing UID is missing the bridge UID.\r\n\r\nRelated to openhab/openhab-core#1481\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "Fix missing bridge UID in thing UID during discovery (#8449)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-11T12:37:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02484bccac7874265716e94bc9cd0c7afd68d0b7",
          "body": "Signed-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[plugwise] Add bridgeUID to thingUID during discovery (#8445)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-11T06:23:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a67ea8fd3d2e1f835c393db78ec3a0bef0ee5a38",
          "body": "Signed-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[dsmr] Add bridgeUID to thingUID during discovery (#8446)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-11T06:22:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2cd7dcab1d59c322996d41a9a0bfdba03356673",
          "body": "Signed-off-by: Clayton Tabone <taboneclayton@gmail.com>",
          "is_bot": false,
          "headline": "[gree] Add channel for temperature sensor (#8303)",
          "author_name": "Clayton Tabone",
          "author_login": "taboneclayton",
          "committed_at": "2020-09-10T23:04:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69e5b9dd8b59205e5b55ec51f53fac4499f859be",
          "body": "Besides that there are some minor changes in the examples section of README file.\r\n\r\nSigned-off-by: Krzysztof Goworek <krzysztof.goworek@gmail.com>",
          "is_bot": false,
          "headline": "[satel] Event log changes. Added support for event type 32 (#8444)",
          "author_name": "druciak",
          "author_login": "druciak",
          "committed_at": "2020-09-10T20:21:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53257fff4756a0217308879438268507601441aa",
          "body": "Co-authored-by: Christian Uebber <ntnkbtce2km@temp.mailbox.org>",
          "is_bot": false,
          "headline": "[smaenergymeter] Add per-phase channels (#8432)",
          "author_name": "uebber",
          "author_login": "uebber",
          "committed_at": "2020-09-10T19:10:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "934dde85e5c604ba93e93e21e7ba044ddfadbf78",
          "body": "Upgrades the Travis CI build environment to Ubuntu 18.04 (Bionic Beaver).\r\nThe openjdk8 package is unsupported in newer Ubuntu versions.\r\n\r\nAlso fixes the following Travis configuration validation warnings:\r\n\r\n* deprecated key sudo (The key `sudo` has no effect anymore.)\r\n* missing os, using the def\n[…]\nuilds.\r\n\r\nIt's also no longer necessary to disable IPv6 with builds.\r\nThis was an actual issue in the hueemulation add-on which was fixed by #7305.\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "Upgrade Travis CI to use Ubuntu 18.04 and fix warnings/caching (#8442)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-10T15:21:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "21deeaa41e2bdb822ac65693569510d75dbfbf49",
          "body": "* update openwebnet4j to 0.3.0.\r\n* Closes #8436 \r\n\r\nSigned-off-by: Massimo Valla <mvcode00@gmail.com>",
          "is_bot": false,
          "headline": "[openwebnet] add support for WHO=2 Automation (#8437)",
          "author_name": "M Valla",
          "author_login": "mvalla",
          "committed_at": "2020-09-10T06:28:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32c3cb9ca5587e4b1069e6c394de08ed437cc8b5",
          "body": "Signed-off-by: Ondrej Pecta <opecta@gmail.com>",
          "is_bot": false,
          "headline": "[somfytahoma] improved discovery service registration (#8439)",
          "author_name": "Ondrej Pecta",
          "author_login": "octa22",
          "committed_at": "2020-09-10T06:22:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6489b6f8276d39594afffcccdb75aefa82e0f07b",
          "body": "We don't use Git modules and no longer use PullApprove\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "Remove unused .gitmodules .pullapprove.yml files (#8435)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-09T18:51:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "811d329a590f314c9654fafb5758d5ce839e1b88",
          "body": "Signed-off-by: Ted Jordan <silverfunk@gmail.com>",
          "is_bot": false,
          "headline": "[radiothermostat] Added Absolute Setpoint Mode (#8393)",
          "author_name": "silverfunk",
          "author_login": "silverfunk",
          "committed_at": "2020-09-09T14:08:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7578fb21be99222fe68565834b28c9119bb4be7d",
          "body": "Signed-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[dsmr] Update line endings of test files (#8433)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-09T06:44:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7730a52fea0819c822e139659b178b76cbc5d4ce",
          "body": "Signed-off-by: Bob Adair <bob.github@att.net>",
          "is_bot": false,
          "headline": "[alarmdecoder] Fix keypad address mask handling (#8406)",
          "author_name": "Bob A",
          "author_login": "bobadair",
          "committed_at": "2020-09-08T18:29:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eca85732c6d3a963a8badb43a9d8c03854f4d404",
          "body": "* Don't follow 302 redirects (jetty default), these should be forwarded back to the cloud service.  This is required for authentication to work in OH 3.0\r\n\r\nSigned-off-by: Dan Cunningham <dan@digitaldan.com>",
          "is_bot": false,
          "headline": "[openhabcloud] Don't follow 302 redirects (#8429)",
          "author_name": "Dan Cunningham",
          "author_login": "digitaldan",
          "committed_at": "2020-09-08T13:45:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c42baca42efe5cf38b5f2fde9d86f14dc8d4200a",
          "body": "…(#8428)\n\nSigned-off-by: Mark Herwege <mark.herwege@telenet.be>",
          "is_bot": false,
          "headline": "[nikohomecontrol] Check bridge status when thing ready to go online. …",
          "author_name": "Mark Herwege",
          "author_login": "mherwege",
          "committed_at": "2020-09-08T12:45:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec8ff65d1d76c812d56368621db799cd72b1ee28",
          "body": "String.format used the wrong decimal separator (might just be that I used a different locale setting for that instance) which caused the binding to stop working. This is a small fix to correct that.\r\n\r\nSigned-off-by: Anders Alfredsson <andersb86@gmail.com>",
          "is_bot": false,
          "headline": "[smhi] Fix String.format bug (#8426)",
          "author_name": "pacive",
          "author_login": "pacive",
          "committed_at": "2020-09-08T07:19:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6abf1ef6206104f9432b908c3ddc812068f5aba4",
          "body": "…es (#8427)\n\n* add @notnullbydefault to classes in command\r\n* replace org.apache.commons.lang.builder.ToStringBuilder with StringBuilder (#7722)\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[max] add @notnullbydefault to eliminate warnings from commands class…",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-08T07:18:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13dc26f8dccf0c2fe03c8e039208129d1ad0eba0",
          "body": "Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>",
          "is_bot": false,
          "headline": "[samsungtv] Removed dependency on org.apache.commons (#8425)",
          "author_name": "Christoph Weitkamp",
          "author_login": "cweitkamp",
          "committed_at": "2020-09-07T20:04:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff3b37e77403aebeab1e50e397b9dc609634af16",
          "body": "The footer doesn't use tabs or proper indentation so after the aggregated feature file was generated a subsequent build would fail.\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[infrastructure] Improve feature file aggregation (#8422)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-07T19:04:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19f2214b624e44baed693dc4cc71dde617272213",
          "body": "Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[max] improve setchannel definition (#8424)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-07T18:25:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40a1c6f5ec170d04cbe89af7a22c85d6900cfa03",
          "body": "… (#7899)\n\nSigned-off-by: Stewart Cossey <stewart.cossey@gmail.com>",
          "is_bot": false,
          "headline": "[nzwateralerts] New Zealand Water Alerts Binding initial contribution…",
          "author_name": "Stewart Cossey",
          "author_login": "Cossey",
          "committed_at": "2020-09-07T18:13:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "998d998e57b01ac1cd690cef90e75b1b3b57a1ac",
          "body": "* Fix null check compiler warnings.\r\n* Ensure all single line if statements contain curly braces.\r\n\r\nSigned-off-by: Stewart Cossey <stewart.cossey@gmail.com>",
          "is_bot": false,
          "headline": "[hpprinter] Fix null check compiler warnings (#8421)",
          "author_name": "Stewart Cossey",
          "author_login": "Cossey",
          "committed_at": "2020-09-07T17:29:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64a66a2246d9f86c3f4dedd2c938139c2877ad11",
          "body": "This reverts commit 6aa1793c680118195f9f447ea5af09efe96f96f6.\r\nIt breaks the build because test fails.\r\n\r\nMoved standard unit test to binding itself.\r\n\r\nSigned-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>",
          "is_bot": false,
          "headline": "[max] Revert of #8418 and move standard max tests to binding (#8423)",
          "author_name": "Hilbrand Bouwkamp",
          "author_login": "Hilbrand",
          "committed_at": "2020-09-07T13:57:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fb38d0994564cb05efd6da261bc33eeb75f97d7",
          "body": "Signed-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[dsmr] Catch exceptions for RFC2217 compatibility (#8420)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-07T10:52:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6aa1793c680118195f9f447ea5af09efe96f96f6",
          "body": "Replace org.apache.commons.net.util.Base64 with java.util.Base64\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[max] remove dependency on org.apache.commons.net.util (#8418)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-07T10:20:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e5949e469585cea985e93db4d52c4c7c699c882",
          "body": "…rmittent offline (#8400)\n\nSigned-off-by: Arne Seime <arne.seime@gmail.com>",
          "is_bot": false,
          "headline": "[sensibo] Fix for dynamic channels disappearing when device goes inte…",
          "author_name": "Arne Seime",
          "author_login": "seime",
          "committed_at": "2020-09-07T09:26:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3382409a31f32d662c6e3396a8fc71d80edc72b",
          "body": "This allows for more easily debugging the add-on in Eclipse and with the updated gnu.io version range it can also be used with OH3.\r\n\r\nSigned-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[openwebnet] Embed dependency and update gnu.io version range (#8417)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-07T06:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73102b6bbad1bab08911c3375e1472de9085db0c",
          "body": "Also-by: Nicolas SIBERIL <nokyyz@yahoo.fr>\r\nSigned-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>",
          "is_bot": false,
          "headline": "[teleinfo] Initial contribution (#7744)",
          "author_name": "olivierkeke",
          "author_login": "olivierkeke",
          "committed_at": "2020-09-07T06:49:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e30fa7e2b9d4c2576de9607a7a21cf201b67c67",
          "body": "Signed-off-by: Giovanni Mirulla <mirullagiovanni@gmail.com>",
          "is_bot": false,
          "headline": "[studer] Initial contribution (#8163)",
          "author_name": "Giovanni Mirulla",
          "author_login": "giovannimirulla",
          "committed_at": "2020-09-07T06:44:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b8740945a2f164f129579879e6df4d1dcd4b7c6",
          "body": "Signed-off-by: Paul Frank <pail@gmx.net>",
          "is_bot": false,
          "headline": "[myStrom] Initial Contribution (#8362)",
          "author_name": "Paul Frank",
          "author_login": "pail23",
          "committed_at": "2020-09-07T06:44:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fee0169f6524dbcaf6038f0a04dd5509fab52cf",
          "body": "Signed-off-by: Wouter Born <github@maindrain.net>",
          "is_bot": false,
          "headline": "[imperihome] Fix FilterCriteria deprecations (#8415)",
          "author_name": "Wouter Born",
          "author_login": "wborn",
          "committed_at": "2020-09-06T20:48:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdd92f0c5a1d1a40acf989969d9bd6f21d1e9694",
          "body": "Signed-off-by: Aitor Iturrioz <riturrioz@gmail.com>",
          "is_bot": false,
          "headline": "[mqtt] Fix itests version number (#8404)",
          "author_name": "Aitor Iturrioz",
          "author_login": "bodiroga",
          "committed_at": "2020-09-06T19:47:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a228349b27a27dab1d70f5a333f9ea3afd7e3bbf",
          "body": "Signed-off-by: Yang Bo <service@lewei50.com>",
          "is_bot": false,
          "headline": "[iammeter] Iammeter Binding initial contribution (#8252)",
          "author_name": "lewei50",
          "author_login": "lewei50",
          "committed_at": "2020-09-06T18:46:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f0dc09a2a0953717cad7f3e975d96b9c31de525",
          "body": "Signed-off-by: Jonas Hohaus <jh@gnlpf.net>",
          "is_bot": false,
          "headline": "[phc] Correct Thing definition in README (#8414)",
          "author_name": "Jonas Hohaus",
          "author_login": "gnlpfjh",
          "committed_at": "2020-09-06T18:19:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b1b79f01a50fd534b7e54456bde48c98805546c5",
          "body": "…#8409)\n\nCloses #7507 #8365\r\n\r\nSigned-off-by: Laurent Garnier <lg.hc@free.fr>",
          "is_bot": false,
          "headline": "[mihome] Workaround for wrong serial number returned by the gateway (…",
          "author_name": "lolodomo",
          "author_login": "lolodomo",
          "committed_at": "2020-09-06T17:24:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19fca64e6c1831d2161d48468951dbfcb56662a0",
          "body": "Removed typo: \"of\"->\"off\"\r\n\r\nAccecpted without sign-off under small documentation change excemption.",
          "is_bot": false,
          "headline": "[amazonechocontrol] Fix type in README.md (#8412)",
          "author_name": "Felix Schneider",
          "author_login": "felixschndr",
          "committed_at": "2020-09-06T17:21:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dcdad2c087760991e10b7d11540fe3a7aa85ea9",
          "body": "* minor typo fixes\r\n\r\nSigned-off-by: Marcel Verpaalen <marcel@verpaalen.com>",
          "is_bot": false,
          "headline": "[miio] add viomi vaccum v6 & v7 (#8405)",
          "author_name": "Marcel",
          "author_login": "marcelrv",
          "committed_at": "2020-09-06T17:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 35,
      "commits_last_year": 0,
      "latest_release_at": "2020-09-20T13:28:13Z",
      "latest_release_tag": "2.5.9",
      "releases_from_tags": true,
      "days_since_last_push": 2134,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 2134,
      "mean_days_between_releases": 31.1
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 15,
      "stars": 8,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2020-10-12",
            "count": 1
          },
          {
            "date": "2020-11-01",
            "count": 1
          },
          {
            "date": "2020-11-21",
            "count": 1
          },
          {
            "date": "2020-12-06",
            "count": 1
          },
          {
            "date": "2020-12-09",
            "count": 1
          },
          {
            "date": "2020-12-23",
            "count": 1
          },
          {
            "date": "2020-12-30",
            "count": 1
          },
          {
            "date": "2021-01-04",
            "count": 1
          },
          {
            "date": "2021-02-07",
            "count": 1
          },
          {
            "date": "2021-04-24",
            "count": 1
          },
          {
            "date": "2021-12-27",
            "count": 1
          },
          {
            "date": "2023-08-19",
            "count": 1
          },
          {
            "date": "2023-08-20",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 13,
        "total_forks": 15
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "sample"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [
        "bundles/org.openhab.binding.enturno/src/main/resources/realtime_request.graphql"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "bom/openhab-addons/pom.xml",
        "bom/openhab-core-index/pom.xml",
        "bom/pom.xml",
        "bom/runtime-index/pom.xml",
        "bom/test-index/pom.xml",
        "bundles/org.openhab.binding.adorne/pom.xml",
        "bundles/org.openhab.binding.airquality/pom.xml",
        "bundles/org.openhab.binding.airvisualnode/pom.xml",
        "bundles/org.openhab.binding.alarmdecoder/pom.xml",
        "bundles/org.openhab.binding.allplay/pom.xml",
        "bundles/org.openhab.binding.amazondashbutton/pom.xml",
        "bundles/org.openhab.binding.amazonechocontrol/pom.xml",
        "bundles/org.openhab.binding.ambientweather/pom.xml",
        "bundles/org.openhab.binding.astro/pom.xml",
        "bundles/org.openhab.binding.atlona/pom.xml",
        "bundles/org.openhab.binding.autelis/pom.xml",
        "bundles/org.openhab.binding.automower/pom.xml",
        "bundles/org.openhab.binding.avmfritz/pom.xml",
        "bundles/org.openhab.binding.bigassfan/pom.xml",
        "bundles/org.openhab.binding.bluetooth.airthings/pom.xml",
        "bundles/org.openhab.binding.bluetooth.am43/pom.xml",
        "bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml",
        "bundles/org.openhab.binding.bluetooth.bluez/pom.xml",
        "bundles/org.openhab.binding.bluetooth.blukii/pom.xml",
        "bundles/org.openhab.binding.bluetooth.daikinmadoka/pom.xml",
        "bundles/org.openhab.binding.bluetooth.roaming/pom.xml",
        "bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml",
        "bundles/org.openhab.binding.bluetooth/pom.xml",
        "bundles/org.openhab.binding.boschindego/pom.xml",
        "bundles/org.openhab.binding.bosesoundtouch/pom.xml",
        "bundles/org.openhab.binding.bsblan/pom.xml",
        "bundles/org.openhab.binding.bticinosmarther/pom.xml",
        "bundles/org.openhab.binding.buienradar/pom.xml",
        "bundles/org.openhab.binding.caddx/pom.xml",
        "bundles/org.openhab.binding.cbus/pom.xml",
        "bundles/org.openhab.binding.chromecast/pom.xml",
        "bundles/org.openhab.binding.cm11a/pom.xml",
        "bundles/org.openhab.binding.comfoair/pom.xml",
        "bundles/org.openhab.binding.coolmasternet/pom.xml",
        "bundles/org.openhab.binding.coronastats/pom.xml",
        "bundles/org.openhab.binding.daikin/pom.xml",
        "bundles/org.openhab.binding.danfossairunit/pom.xml",
        "bundles/org.openhab.binding.darksky/pom.xml",
        "bundles/org.openhab.binding.deconz/pom.xml",
        "bundles/org.openhab.binding.denonmarantz/pom.xml",
        "bundles/org.openhab.binding.digiplex/pom.xml",
        "bundles/org.openhab.binding.digitalstrom/pom.xml",
        "bundles/org.openhab.binding.dlinksmarthome/pom.xml",
        "bundles/org.openhab.binding.dmx/pom.xml",
        "bundles/org.openhab.binding.doorbird/pom.xml",
        "bundles/org.openhab.binding.draytonwiser/pom.xml",
        "bundles/org.openhab.binding.dscalarm/pom.xml",
        "bundles/org.openhab.binding.dsmr/pom.xml",
        "bundles/org.openhab.binding.dwdpollenflug/pom.xml",
        "bundles/org.openhab.binding.dwdunwetter/pom.xml",
        "bundles/org.openhab.binding.ecobee/pom.xml",
        "bundles/org.openhab.binding.elerotransmitterstick/pom.xml",
        "bundles/org.openhab.binding.energenie/pom.xml",
        "bundles/org.openhab.binding.enigma2/pom.xml",
        "bundles/org.openhab.binding.enocean/pom.xml",
        "bundles/org.openhab.binding.enturno/pom.xml",
        "bundles/org.openhab.binding.etherrain/pom.xml",
        "bundles/org.openhab.binding.evohome/pom.xml",
        "bundles/org.openhab.binding.exec/pom.xml",
        "bundles/org.openhab.binding.feed/pom.xml",
        "bundles/org.openhab.binding.feican/pom.xml",
        "bundles/org.openhab.binding.fmiweather/pom.xml",
        "bundles/org.openhab.binding.folding/pom.xml",
        "bundles/org.openhab.binding.foobot/pom.xml",
        "bundles/org.openhab.binding.freebox/pom.xml",
        "bundles/org.openhab.binding.fronius/pom.xml",
        "bundles/org.openhab.binding.fsinternetradio/pom.xml",
        "bundles/org.openhab.binding.ftpupload/pom.xml",
        "bundles/org.openhab.binding.gardena/pom.xml",
        "bundles/org.openhab.binding.gce/pom.xml",
        "bundles/org.openhab.binding.globalcache/pom.xml",
        "bundles/org.openhab.binding.goecharger/pom.xml",
        "bundles/org.openhab.binding.gpstracker/pom.xml",
        "bundles/org.openhab.binding.gree/pom.xml",
        "bundles/org.openhab.binding.groheondus/pom.xml",
        "bundles/org.openhab.binding.harmonyhub/pom.xml",
        "bundles/org.openhab.binding.hdanywhere/pom.xml",
        "bundles/org.openhab.binding.hdpowerview/pom.xml",
        "bundles/org.openhab.binding.helios/pom.xml",
        "bundles/org.openhab.binding.heliosventilation/pom.xml",
        "bundles/org.openhab.binding.heos/pom.xml",
        "bundles/org.openhab.binding.homematic/pom.xml",
        "bundles/org.openhab.binding.hpprinter/pom.xml",
        "bundles/org.openhab.binding.hue/pom.xml",
        "bundles/org.openhab.binding.hydrawise/pom.xml",
        "bundles/org.openhab.binding.hyperion/pom.xml",
        "bundles/org.openhab.binding.iammeter/pom.xml",
        "bundles/org.openhab.binding.iaqualink/pom.xml",
        "bundles/org.openhab.binding.icalendar/pom.xml",
        "bundles/org.openhab.binding.icloud/pom.xml",
        "bundles/org.openhab.binding.ihc/pom.xml",
        "bundles/org.openhab.binding.innogysmarthome/pom.xml",
        "bundles/org.openhab.binding.insteon/pom.xml",
        "bundles/org.openhab.binding.intesis/pom.xml",
        "bundles/org.openhab.binding.ipcamera/pom.xml",
        "bundles/org.openhab.binding.ipp/pom.xml",
        "bundles/org.openhab.binding.irtrans/pom.xml",
        "bundles/org.openhab.binding.ism8/pom.xml",
        "bundles/org.openhab.binding.jablotron/pom.xml",
        "bundles/org.openhab.binding.jeelink/pom.xml",
        "bundles/org.openhab.binding.kaleidescape/pom.xml",
        "bundles/org.openhab.binding.keba/pom.xml",
        "bundles/org.openhab.binding.km200/pom.xml",
        "bundles/org.openhab.binding.knx/pom.xml",
        "bundles/org.openhab.binding.kodi/pom.xml",
        "bundles/org.openhab.binding.konnected/pom.xml",
        "bundles/org.openhab.binding.kostalinverter/pom.xml",
        "bundles/org.openhab.binding.kvv/pom.xml",
        "bundles/org.openhab.binding.lametrictime/pom.xml",
        "bundles/org.openhab.binding.lcn/pom.xml",
        "bundles/org.openhab.binding.leapmotion/pom.xml",
        "bundles/org.openhab.binding.lghombot/pom.xml",
        "bundles/org.openhab.binding.lgtvserial/pom.xml",
        "bundles/org.openhab.binding.lgwebos/pom.xml",
        "bundles/org.openhab.binding.lifx/pom.xml",
        "bundles/org.openhab.binding.linky/pom.xml",
        "bundles/org.openhab.binding.linuxinput/pom.xml",
        "bundles/org.openhab.binding.lirc/pom.xml",
        "bundles/org.openhab.binding.logreader/pom.xml",
        "bundles/org.openhab.binding.loxone/pom.xml",
        "bundles/org.openhab.binding.luftdateninfo/pom.xml",
        "bundles/org.openhab.binding.lutron/pom.xml",
        "bundles/org.openhab.binding.magentatv/pom.xml",
        "bundles/org.openhab.binding.mail/pom.xml",
        "bundles/org.openhab.binding.max/pom.xml",
        "bundles/org.openhab.binding.mcp23017/pom.xml",
        "bundles/org.openhab.binding.melcloud/pom.xml",
        "bundles/org.openhab.binding.meteoalerte/pom.xml",
        "bundles/org.openhab.binding.meteoblue/pom.xml",
        "bundles/org.openhab.binding.meteostick/pom.xml",
        "bundles/org.openhab.binding.miele/pom.xml",
        "bundles/org.openhab.binding.mihome/pom.xml",
        "bundles/org.openhab.binding.miio/pom.xml",
        "bundles/org.openhab.binding.milight/pom.xml",
        "bundles/org.openhab.binding.millheat/pom.xml",
        "bundles/org.openhab.binding.minecraft/pom.xml",
        "bundles/org.openhab.binding.modbus.e3dc/pom.xml",
        "bundles/org.openhab.binding.modbus.helioseasycontrols/pom.xml",
        "bundles/org.openhab.binding.modbus.stiebeleltron/pom.xml",
        "bundles/org.openhab.binding.modbus.studer/pom.xml",
        "bundles/org.openhab.binding.modbus.sunspec/pom.xml",
        "bundles/org.openhab.binding.modbus/pom.xml",
        "bundles/org.openhab.binding.monopriceaudio/pom.xml",
        "bundles/org.openhab.binding.mpd/pom.xml",
        "bundles/org.openhab.binding.mqtt.generic/pom.xml",
        "bundles/org.openhab.binding.mqtt.homeassistant/pom.xml",
        "bundles/org.openhab.binding.mqtt.homie/pom.xml",
        "bundles/org.openhab.binding.mqtt/pom.xml",
        "bundles/org.openhab.binding.mystrom/pom.xml",
        "bundles/org.openhab.binding.nanoleaf/pom.xml",
        "bundles/org.openhab.binding.neato/pom.xml",
        "bundles/org.openhab.binding.neeo/pom.xml",
        "bundles/org.openhab.binding.neohub/pom.xml",
        "bundles/org.openhab.binding.nest/pom.xml",
        "bundles/org.openhab.binding.netatmo/pom.xml",
        "bundles/org.openhab.binding.network/pom.xml",
        "bundles/org.openhab.binding.networkupstools/pom.xml",
        "bundles/org.openhab.binding.nibeheatpump/pom.xml",
        "bundles/org.openhab.binding.nibeuplink/pom.xml",
        "bundles/org.openhab.binding.nikobus/pom.xml",
        "bundles/org.openhab.binding.nikohomecontrol/pom.xml",
        "bundles/org.openhab.binding.novafinedust/pom.xml",
        "bundles/org.openhab.binding.ntp/pom.xml",
        "bundles/org.openhab.binding.nuki/pom.xml",
        "bundles/org.openhab.binding.nuvo/pom.xml",
        "bundles/org.openhab.binding.nzwateralerts/pom.xml",
        "bundles/org.openhab.binding.oceanic/pom.xml",
        "bundles/org.openhab.binding.ojelectronics/pom.xml",
        "bundles/org.openhab.binding.omnikinverter/pom.xml",
        "bundles/org.openhab.binding.onebusaway/pom.xml",
        "bundles/org.openhab.binding.onewire/pom.xml",
        "bundles/org.openhab.binding.onewiregpio/pom.xml",
        "bundles/org.openhab.binding.onkyo/pom.xml",
        "bundles/org.openhab.binding.opengarage/pom.xml",
        "bundles/org.openhab.binding.opensprinkler/pom.xml",
        "bundles/org.openhab.binding.openthermgateway/pom.xml",
        "bundles/org.openhab.binding.openuv/pom.xml",
        "bundles/org.openhab.binding.openweathermap/pom.xml",
        "bundles/org.openhab.binding.openwebnet/pom.xml",
        "bundles/org.openhab.binding.oppo/pom.xml",
        "bundles/org.openhab.binding.orvibo/pom.xml",
        "bundles/org.openhab.binding.paradoxalarm/pom.xml",
        "bundles/org.openhab.binding.pentair/pom.xml",
        "bundles/org.openhab.binding.phc/pom.xml",
        "bundles/org.openhab.binding.pioneeravr/pom.xml",
        "bundles/org.openhab.binding.pixometer/pom.xml",
        "bundles/org.openhab.binding.pjlinkdevice/pom.xml",
        "bundles/org.openhab.binding.plclogo/pom.xml",
        "bundles/org.openhab.binding.plugwise/pom.xml",
        "bundles/org.openhab.binding.powermax/pom.xml",
        "bundles/org.openhab.binding.pulseaudio/pom.xml",
        "bundles/org.openhab.binding.pushbullet/pom.xml",
        "bundles/org.openhab.binding.radiothermostat/pom.xml",
        "bundles/org.openhab.binding.regoheatpump/pom.xml",
        "bundles/org.openhab.binding.rfxcom/pom.xml",
        "bundles/org.openhab.binding.rme/pom.xml",
        "bundles/org.openhab.binding.robonect/pom.xml",
        "bundles/org.openhab.binding.rotel/pom.xml",
        "bundles/org.openhab.binding.rotelra1x/pom.xml",
        "bundles/org.openhab.binding.russound/pom.xml",
        "bundles/org.openhab.binding.sagercaster/pom.xml",
        "bundles/org.openhab.binding.samsungtv/pom.xml",
        "bundles/org.openhab.binding.satel/pom.xml",
        "bundles/org.openhab.binding.senechome/pom.xml",
        "bundles/org.openhab.binding.seneye/pom.xml",
        "bundles/org.openhab.binding.sensebox/pom.xml",
        "bundles/org.openhab.binding.sensibo/pom.xml",
        "bundles/org.openhab.binding.serialbutton/pom.xml",
        "bundles/org.openhab.binding.shelly/pom.xml",
        "bundles/org.openhab.binding.siemensrds/pom.xml",
        "bundles/org.openhab.binding.silvercrestwifisocket/pom.xml",
        "bundles/org.openhab.binding.sinope/pom.xml",
        "bundles/org.openhab.binding.sleepiq/pom.xml",
        "bundles/org.openhab.binding.smaenergymeter/pom.xml",
        "bundles/org.openhab.binding.smartmeter/pom.xml",
        "bundles/org.openhab.binding.smartthings/pom.xml",
        "bundles/org.openhab.binding.smhi/pom.xml",
        "bundles/org.openhab.binding.snmp/pom.xml",
        "bundles/org.openhab.binding.solaredge/pom.xml",
        "bundles/org.openhab.binding.solarlog/pom.xml",
        "bundles/org.openhab.binding.somfymylink/pom.xml",
        "bundles/org.openhab.binding.somfytahoma/pom.xml",
        "bundles/org.openhab.binding.sonos/pom.xml",
        "bundles/org.openhab.binding.sonyaudio/pom.xml",
        "bundles/org.openhab.binding.sonyprojector/pom.xml",
        "bundles/org.openhab.binding.spotify/pom.xml",
        "bundles/org.openhab.binding.squeezebox/pom.xml",
        "bundles/org.openhab.binding.synopanalyzer/pom.xml",
        "bundles/org.openhab.binding.systeminfo/pom.xml",
        "bundles/org.openhab.binding.tacmi/pom.xml",
        "bundles/org.openhab.binding.tado/pom.xml",
        "bundles/org.openhab.binding.tado/src/main/api/pom.xml",
        "bundles/org.openhab.binding.tankerkoenig/pom.xml",
        "bundles/org.openhab.binding.telegram/pom.xml",
        "bundles/org.openhab.binding.teleinfo/pom.xml",
        "bundles/org.openhab.binding.tellstick/pom.xml",
        "bundles/org.openhab.binding.tesla/pom.xml",
        "bundles/org.openhab.binding.tibber/pom.xml",
        "bundles/org.openhab.binding.tplinksmarthome/pom.xml",
        "bundles/org.openhab.binding.tradfri/pom.xml",
        "bundles/org.openhab.binding.unifi/pom.xml",
        "bundles/org.openhab.binding.upb/pom.xml",
        "bundles/org.openhab.binding.upnpcontrol/pom.xml",
        "bundles/org.openhab.binding.urtsi/pom.xml",
        "bundles/org.openhab.binding.valloxmv/pom.xml",
        "bundles/org.openhab.binding.vektiva/pom.xml",
        "bundles/org.openhab.binding.velbus/pom.xml",
        "bundles/org.openhab.binding.velux/pom.xml",
        "bundles/org.openhab.binding.venstarthermostat/pom.xml",
        "bundles/org.openhab.binding.verisure/pom.xml",
        "bundles/org.openhab.binding.vigicrues/pom.xml",
        "bundles/org.openhab.binding.vitotronic/pom.xml",
        "bundles/org.openhab.binding.volvooncall/pom.xml",
        "bundles/org.openhab.binding.weathercompany/pom.xml",
        "bundles/org.openhab.binding.weatherunderground/pom.xml",
        "bundles/org.openhab.binding.wemo/pom.xml",
        "bundles/org.openhab.binding.wifiled/pom.xml",
        "bundles/org.openhab.binding.windcentrale/pom.xml",
        "bundles/org.openhab.binding.wlanthermo/pom.xml",
        "bundles/org.openhab.binding.xmltv/pom.xml",
        "bundles/org.openhab.binding.xmppclient/pom.xml",
        "bundles/org.openhab.binding.yamahareceiver/pom.xml",
        "bundles/org.openhab.binding.yeelight/pom.xml",
        "bundles/org.openhab.binding.yioremote/pom.xml",
        "bundles/org.openhab.binding.zoneminder/pom.xml",
        "bundles/org.openhab.binding.zway/pom.xml",
        "bundles/org.openhab.extensionservice.marketplace.automation/pom.xml",
        "bundles/org.openhab.extensionservice.marketplace/pom.xml",
        "bundles/org.openhab.io.homekit/pom.xml",
        "bundles/org.openhab.io.hueemulation/pom.xml",
        "bundles/org.openhab.io.imperihome/pom.xml",
        "bundles/org.openhab.io.javasound/pom.xml",
        "bundles/org.openhab.io.mqttembeddedbroker/pom.xml",
        "bundles/org.openhab.io.neeo/pom.xml",
        "bundles/org.openhab.io.openhabcloud/pom.xml",
        "bundles/org.openhab.io.transport.modbus/pom.xml",
        "bundles/org.openhab.io.webaudio/pom.xml",
        "bundles/org.openhab.transform.bin2json/pom.xml",
        "bundles/org.openhab.transform.exec/pom.xml",
        "bundles/org.openhab.transform.javascript/pom.xml",
        "bundles/org.openhab.transform.jinja/pom.xml",
        "bundles/org.openhab.transform.jsonpath/pom.xml",
        "bundles/org.openhab.transform.map/pom.xml",
        "bundles/org.openhab.transform.regex/pom.xml",
        "bundles/org.openhab.transform.scale/pom.xml",
        "bundles/org.openhab.transform.xpath/pom.xml",
        "bundles/org.openhab.transform.xslt/pom.xml",
        "bundles/org.openhab.voice.googletts/pom.xml",
        "bundles/org.openhab.voice.mactts/pom.xml",
        "bundles/org.openhab.voice.marytts/pom.xml",
        "bundles/org.openhab.voice.picotts/pom.xml",
        "bundles/org.openhab.voice.pollytts/pom.xml",
        "bundles/org.openhab.voice.voicerss/pom.xml",
        "bundles/pom.xml",
        "features/openhab-addons-external/pom.xml",
        "features/openhab-addons/pom.xml",
        "features/pom.xml",
        "itests/org.openhab.binding.astro.tests/pom.xml",
        "itests/org.openhab.binding.avmfritz.tests/pom.xml",
        "itests/org.openhab.binding.feed.tests/pom.xml",
        "itests/org.openhab.binding.hue.tests/pom.xml",
        "itests/org.openhab.binding.max.tests/pom.xml",
        "itests/org.openhab.binding.modbus.tests/pom.xml",
        "itests/org.openhab.binding.mqtt.homeassistant.tests/pom.xml",
        "itests/org.openhab.binding.mqtt.homie.tests/pom.xml",
        "itests/org.openhab.binding.nest.tests/pom.xml",
        "itests/org.openhab.binding.ntp.tests/pom.xml",
        "itests/org.openhab.binding.systeminfo.tests/pom.xml",
        "itests/org.openhab.binding.tradfri.tests/pom.xml",
        "itests/org.openhab.binding.wemo.tests/pom.xml",
        "itests/org.openhab.io.hueemulation.tests/pom.xml",
        "itests/org.openhab.io.mqttembeddedbroker.tests/pom.xml",
        "itests/pom.xml",
        "pom.xml"
      ],
      "largest_source_bytes": 167131,
      "source_files_sampled": 7899,
      "oversized_source_files": 18,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "bom/pom.xml",
        "bundles/pom.xml",
        "features/pom.xml",
        "itests/pom.xml",
        "pom.xml"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [
        {
          "name": "org.apache.karaf.features:framework",
          "manifest": "bundles/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${karaf.version}"
        },
        {
          "name": "org.openhab.addons.bom:org.openhab.addons.bom.openhab-addons",
          "manifest": "features/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.core.bom:org.openhab.core.bom.runtime",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${ohc.version}"
        },
        {
          "name": "org.codehaus.plexus:plexus-compiler-eclipse",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "2.8.5"
        },
        {
          "name": "org.eclipse.jdt:ecj",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "3.16.0"
        },
        {
          "name": "org.openhab.tools:openhab-codestyle",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "0.10.0"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.adorne",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.airquality",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.airvisualnode",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.alarmdecoder",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.allplay",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.amazondashbutton",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.amazonechocontrol",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ambientweather",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.astro",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.atlona",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.autelis",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.automower",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.avmfritz",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bigassfan",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.airthings",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.am43",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.bluegiga",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.bluez",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.blukii",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.daikinmadoka",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.roaming",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bluetooth.ruuvitag",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.boschindego",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bosesoundtouch",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bsblan",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.bticinosmarther",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.buienradar",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.caddx",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.cbus",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.chromecast",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.cm11a",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.comfoair",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.coolmasternet",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.coronastats",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.daikin",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.danfossairunit",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.darksky",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.deconz",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.denonmarantz",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.digiplex",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.digitalstrom",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.dlinksmarthome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.dmx",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.doorbird",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.draytonwiser",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.dscalarm",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.dsmr",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.dwdpollenflug",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.dwdunwetter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ecobee",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.elerotransmitterstick",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.energenie",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.enigma2",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.enocean",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.enturno",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.etherrain",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.evohome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.exec",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.feed",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.feican",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.fmiweather",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.folding",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.foobot",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.freebox",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.fronius",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.fsinternetradio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ftpupload",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.gardena",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.gce",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.goecharger",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.globalcache",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.gpstracker",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.gree",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.groheondus",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.harmonyhub",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.hdanywhere",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.hdpowerview",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.helios",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.heliosventilation",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.heos",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.homematic",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.hpprinter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.hue",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.hydrawise",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.hyperion",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.iammeter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.iaqualink",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.icalendar",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.icloud",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ihc",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.innogysmarthome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.insteon",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ipcamera",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.intesis",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ipp",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.irtrans",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ism8",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.jablotron",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.jeelink",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.kaleidescape",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.keba",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.km200",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.knx",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.kodi",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.konnected",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.kostalinverter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.kvv",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lametrictime",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lcn",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.leapmotion",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lghombot",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lgtvserial",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lgwebos",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lifx",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.linky",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lirc",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.linuxinput",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.logreader",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.loxone",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.luftdateninfo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.lutron",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.magentatv",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mail",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.max",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mcp23017",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.melcloud",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.meteoalerte",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.meteoblue",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.meteostick",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.miele",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mihome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.miio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.millheat",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.milight",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.minecraft",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.modbus",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.modbus.e3dc",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.modbus.stiebeleltron",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.modbus.helioseasycontrols",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.monopriceaudio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mqtt",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mqtt.generic",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mqtt.homeassistant",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mqtt.homie",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mystrom",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nanoleaf",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.neato",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.neeo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.neohub",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nest",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.netatmo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.network",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.networkupstools",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nibeheatpump",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nibeuplink",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nikobus",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nikohomecontrol",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.novafinedust",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ntp",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nuki",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nuvo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.nzwateralerts",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.oceanic",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.ojelectronics",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.omnikinverter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.onebusaway",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.onewiregpio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.onewire",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.onkyo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.opengarage",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.opensprinkler",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.openthermgateway",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.openuv",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.openweathermap",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.openwebnet",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.oppo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.orvibo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.paradoxalarm",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.pentair",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.phc",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.pioneeravr",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.pixometer",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.pjlinkdevice",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.plclogo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.plugwise",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.powermax",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.pulseaudio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.pushbullet",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.radiothermostat",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.regoheatpump",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.rfxcom",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.rme",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.robonect",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.rotel",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.rotelra1x",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.russound",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sagercaster",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.samsungtv",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.satel",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.senechome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.seneye",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sensebox",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sensibo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.serialbutton",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.shelly",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.siemensrds",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sinope",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.silvercrestwifisocket",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sleepiq",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.smaenergymeter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.smartmeter",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.smartthings",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.smhi",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.snmp",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.solaredge",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.solarlog",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.somfytahoma",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.somfymylink",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sonos",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sonyaudio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.sonyprojector",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.spotify",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.squeezebox",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.modbus.studer",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.modbus.sunspec",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.mpd",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.synopanalyzer",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.systeminfo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tacmi",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tado",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tankerkoenig",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.telegram",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.teleinfo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tellstick",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tesla",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tibber",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tplinksmarthome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.tradfri",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.unifi",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.upnpcontrol",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.upb",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.urtsi",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.valloxmv",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.vektiva",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.volvooncall",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.velbus",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.velux",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.verisure",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.vigicrues",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.vitotronic",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.weathercompany",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.weatherunderground",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.wemo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.wifiled",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.windcentrale",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.wlanthermo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.xmltv",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.xmppclient",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.yamahareceiver",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.yeelight",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.zoneminder",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.binding.zway",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.extensionservice.marketplace",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.extensionservice.marketplace.automation",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.homekit",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.hueemulation",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.imperihome",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.javasound",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.neeo",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.openhabcloud",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.transport.modbus",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.mqttembeddedbroker",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.io.webaudio",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.bin2json",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.exec",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.javascript",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.jinja",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.jsonpath",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.map",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.regex",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.scale",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.xpath",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.transform.xslt",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.voice.googletts",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.voice.mactts",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.voice.marytts",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.voice.picotts",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.voice.pollytts",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.addons.bundles:org.openhab.voice.voicerss",
          "manifest": "bom/openhab-addons/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.openhab.core.bom:org.openhab.core.bom.openhab-core",
          "manifest": "bom/openhab-core-index/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${ohc.version}"
        },
        {
          "name": "org.openhab.core.bom:org.openhab.core.bom.runtime",
          "manifest": "bom/runtime-index/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${ohc.version}"
        },
        {
          "name": "org.osgi:osgi.enroute.junit.wrapper",
          "manifest": "bom/test-index/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "4.12.0"
        },
        {
          "name": "org.openhab.core.bom:org.openhab.core.bom.test",
          "manifest": "bom/test-index/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${ohc.version}"
        },
        {
          "name": "org.samba.jcifs:jcifs",
          "manifest": "bundles/org.openhab.binding.airvisualnode/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.3.17"
        },
        {
          "name": "org.openhab.osgiify:de.kaizencode.tchaikovsky",
          "manifest": "bundles/org.openhab.binding.allplay/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "0.0.1"
        },
        {
          "name": "net.java.dev.jna:jna",
          "manifest": "bundles/org.openhab.binding.amazondashbutton/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "5.4.0"
        },
        {
          "name": "org.pcap4j:pcap4j-core",
          "manifest": "bundles/org.openhab.binding.amazondashbutton/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.8.2"
        },
        {
          "name": "org.pcap4j:pcap4j-packetfactory-static",
          "manifest": "bundles/org.openhab.binding.amazondashbutton/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.8.2"
        },
        {
          "name": "org.openhab.osgiify:io.socket.socket.io-client",
          "manifest": "bundles/org.openhab.binding.ambientweather/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.0.0"
        },
        {
          "name": "org.openhab.osgiify:io.socket.engine.io-client",
          "manifest": "bundles/org.openhab.binding.ambientweather/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.0.0"
        },
        {
          "name": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.okhttp",
          "manifest": "bundles/org.openhab.binding.ambientweather/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "3.8.1_1"
        },
        {
          "name": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.okio",
          "manifest": "bundles/org.openhab.binding.ambientweather/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.13.0_1"
        },
        {
          "name": "org.json:json",
          "manifest": "bundles/org.openhab.binding.ambientweather/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "20180813"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 6,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "kaikreuzer",
          "commits": 966,
          "avatar_url": "https://avatars.githubusercontent.com/u/3244965?v=4"
        },
        {
          "type": "User",
          "login": "wborn",
          "commits": 413,
          "avatar_url": "https://avatars.githubusercontent.com/u/12213581?v=4"
        },
        {
          "type": "User",
          "login": "cweitkamp",
          "commits": 306,
          "avatar_url": "https://avatars.githubusercontent.com/u/5131747?v=4"
        },
        {
          "type": "User",
          "login": "lolodomo",
          "commits": 226,
          "avatar_url": "https://avatars.githubusercontent.com/u/10186704?v=4"
        },
        {
          "type": "User",
          "login": "cdjackson",
          "commits": 216,
          "avatar_url": "https://avatars.githubusercontent.com/u/1041475?v=4"
        },
        {
          "type": "User",
          "login": "Hilbrand",
          "commits": 183,
          "avatar_url": "https://avatars.githubusercontent.com/u/1272873?v=4"
        },
        {
          "type": "User",
          "login": "J-N-K",
          "commits": 175,
          "avatar_url": "https://avatars.githubusercontent.com/u/5159123?v=4"
        },
        {
          "type": "User",
          "login": "VelinYordanov",
          "commits": 149,
          "avatar_url": "https://avatars.githubusercontent.com/u/18046498?v=4"
        },
        {
          "type": "User",
          "login": "marcelrv",
          "commits": 112,
          "avatar_url": "https://avatars.githubusercontent.com/u/5871213?v=4"
        },
        {
          "type": "User",
          "login": "kgoderis",
          "commits": 106,
          "avatar_url": "https://avatars.githubusercontent.com/u/5459062?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.222
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 0,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 29 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project is archived",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "142 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "2d957b7cdab75827c7995c380a16368428167003",
        "ran_at": "2026-07-26T03:45:48Z",
        "aggregate_score": 1.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/openhab/openhab2-addons",
    "host": "github.com",
    "name": "openhab2-addons",
    "owner": "openhab"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "critical",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 29,
            "pct": 40
          }
        }
      ],
      "value": 14,
      "inputs": {
        "security": 15,
        "vitality": 20,
        "community": 49,
        "governance": 58,
        "engineering": 34,
        "abandonment_cap": 29,
        "abandonment_state": "declared",
        "abandonment_multiplier": 40,
        "weighted_overall_before_abandonment": 36,
        "overall_after_abandonment_multiplier": 14
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 20,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 1,
              "days_since_last_push": 2134,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 2134 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 2134
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 48,
            "inputs": {
              "releases_count": 35,
              "latest_release_tag": "2.5.9",
              "releases_from_tags": true,
              "days_since_latest_release": 2134,
              "mean_days_between_releases": 31.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "35 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 35
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2134 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2134
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~31.1 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 31.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "at_risk",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "cap": 29,
              "state": "declared",
              "guards": [],
              "signals": [],
              "red_flag": true,
              "multiplier_pct": 40,
              "declared_reason": "archived",
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "the repository is archived on GitHub",
                "points": 40,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_archived",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 49,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "forks": 15,
              "stars": 8,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "8 stars",
                "points": 13.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "15 forks",
                "points": 9.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (EPL-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "EPL-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "bus_factor": 6,
              "contributors_sampled": 100,
              "top_contributor_share": 0.222
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "6 contributor(s) cover half of all commits",
                "points": 48.6,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 22% of commits",
                "points": 17.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 22
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 29 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "followers": 1112,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "openhab",
              "public_repos": 53,
              "account_age_days": 5447
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1,112 followers of openhab",
                "points": 21.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1112,
                      "login": "openhab"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "53 public repos, account ~14 yr old",
                "points": 24.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 53
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 34,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "critical",
        "name": "Security",
        "value": 15,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 15,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 12,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 6,
              "scorecard_aggregate": 1.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 29 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "142 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 18
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 59,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.85,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "85 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 85,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 51,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "bom/openhab-addons/pom.xml",
                "bom/openhab-core-index/pom.xml",
                "bom/pom.xml",
                "bom/runtime-index/pom.xml",
                "bom/test-index/pom.xml",
                "bundles/org.openhab.binding.adorne/pom.xml",
                "bundles/org.openhab.binding.airquality/pom.xml",
                "bundles/org.openhab.binding.airvisualnode/pom.xml",
                "bundles/org.openhab.binding.alarmdecoder/pom.xml",
                "bundles/org.openhab.binding.allplay/pom.xml",
                "bundles/org.openhab.binding.amazondashbutton/pom.xml",
                "bundles/org.openhab.binding.amazonechocontrol/pom.xml",
                "bundles/org.openhab.binding.ambientweather/pom.xml",
                "bundles/org.openhab.binding.astro/pom.xml",
                "bundles/org.openhab.binding.atlona/pom.xml",
                "bundles/org.openhab.binding.autelis/pom.xml",
                "bundles/org.openhab.binding.automower/pom.xml",
                "bundles/org.openhab.binding.avmfritz/pom.xml",
                "bundles/org.openhab.binding.bigassfan/pom.xml",
                "bundles/org.openhab.binding.bluetooth.airthings/pom.xml",
                "bundles/org.openhab.binding.bluetooth.am43/pom.xml",
                "bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml",
                "bundles/org.openhab.binding.bluetooth.bluez/pom.xml",
                "bundles/org.openhab.binding.bluetooth.blukii/pom.xml",
                "bundles/org.openhab.binding.bluetooth.daikinmadoka/pom.xml",
                "bundles/org.openhab.binding.bluetooth.roaming/pom.xml",
                "bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml",
                "bundles/org.openhab.binding.bluetooth/pom.xml",
                "bundles/org.openhab.binding.boschindego/pom.xml",
                "bundles/org.openhab.binding.bosesoundtouch/pom.xml",
                "bundles/org.openhab.binding.bsblan/pom.xml",
                "bundles/org.openhab.binding.bticinosmarther/pom.xml",
                "bundles/org.openhab.binding.buienradar/pom.xml",
                "bundles/org.openhab.binding.caddx/pom.xml",
                "bundles/org.openhab.binding.cbus/pom.xml",
                "bundles/org.openhab.binding.chromecast/pom.xml",
                "bundles/org.openhab.binding.cm11a/pom.xml",
                "bundles/org.openhab.binding.comfoair/pom.xml",
                "bundles/org.openhab.binding.coolmasternet/pom.xml",
                "bundles/org.openhab.binding.coronastats/pom.xml",
                "bundles/org.openhab.binding.daikin/pom.xml",
                "bundles/org.openhab.binding.danfossairunit/pom.xml",
                "bundles/org.openhab.binding.darksky/pom.xml",
                "bundles/org.openhab.binding.deconz/pom.xml",
                "bundles/org.openhab.binding.denonmarantz/pom.xml",
                "bundles/org.openhab.binding.digiplex/pom.xml",
                "bundles/org.openhab.binding.digitalstrom/pom.xml",
                "bundles/org.openhab.binding.dlinksmarthome/pom.xml",
                "bundles/org.openhab.binding.dmx/pom.xml",
                "bundles/org.openhab.binding.doorbird/pom.xml",
                "bundles/org.openhab.binding.draytonwiser/pom.xml",
                "bundles/org.openhab.binding.dscalarm/pom.xml",
                "bundles/org.openhab.binding.dsmr/pom.xml",
                "bundles/org.openhab.binding.dwdpollenflug/pom.xml",
                "bundles/org.openhab.binding.dwdunwetter/pom.xml",
                "bundles/org.openhab.binding.ecobee/pom.xml",
                "bundles/org.openhab.binding.elerotransmitterstick/pom.xml",
                "bundles/org.openhab.binding.energenie/pom.xml",
                "bundles/org.openhab.binding.enigma2/pom.xml",
                "bundles/org.openhab.binding.enocean/pom.xml",
                "bundles/org.openhab.binding.enturno/pom.xml",
                "bundles/org.openhab.binding.etherrain/pom.xml",
                "bundles/org.openhab.binding.evohome/pom.xml",
                "bundles/org.openhab.binding.exec/pom.xml",
                "bundles/org.openhab.binding.feed/pom.xml",
                "bundles/org.openhab.binding.feican/pom.xml",
                "bundles/org.openhab.binding.fmiweather/pom.xml",
                "bundles/org.openhab.binding.folding/pom.xml",
                "bundles/org.openhab.binding.foobot/pom.xml",
                "bundles/org.openhab.binding.freebox/pom.xml",
                "bundles/org.openhab.binding.fronius/pom.xml",
                "bundles/org.openhab.binding.fsinternetradio/pom.xml",
                "bundles/org.openhab.binding.ftpupload/pom.xml",
                "bundles/org.openhab.binding.gardena/pom.xml",
                "bundles/org.openhab.binding.gce/pom.xml",
                "bundles/org.openhab.binding.globalcache/pom.xml",
                "bundles/org.openhab.binding.goecharger/pom.xml",
                "bundles/org.openhab.binding.gpstracker/pom.xml",
                "bundles/org.openhab.binding.gree/pom.xml",
                "bundles/org.openhab.binding.groheondus/pom.xml",
                "bundles/org.openhab.binding.harmonyhub/pom.xml",
                "bundles/org.openhab.binding.hdanywhere/pom.xml",
                "bundles/org.openhab.binding.hdpowerview/pom.xml",
                "bundles/org.openhab.binding.helios/pom.xml",
                "bundles/org.openhab.binding.heliosventilation/pom.xml",
                "bundles/org.openhab.binding.heos/pom.xml",
                "bundles/org.openhab.binding.homematic/pom.xml",
                "bundles/org.openhab.binding.hpprinter/pom.xml",
                "bundles/org.openhab.binding.hue/pom.xml",
                "bundles/org.openhab.binding.hydrawise/pom.xml",
                "bundles/org.openhab.binding.hyperion/pom.xml",
                "bundles/org.openhab.binding.iammeter/pom.xml",
                "bundles/org.openhab.binding.iaqualink/pom.xml",
                "bundles/org.openhab.binding.icalendar/pom.xml",
                "bundles/org.openhab.binding.icloud/pom.xml",
                "bundles/org.openhab.binding.ihc/pom.xml",
                "bundles/org.openhab.binding.innogysmarthome/pom.xml",
                "bundles/org.openhab.binding.insteon/pom.xml",
                "bundles/org.openhab.binding.intesis/pom.xml",
                "bundles/org.openhab.binding.ipcamera/pom.xml",
                "bundles/org.openhab.binding.ipp/pom.xml",
                "bundles/org.openhab.binding.irtrans/pom.xml",
                "bundles/org.openhab.binding.ism8/pom.xml",
                "bundles/org.openhab.binding.jablotron/pom.xml",
                "bundles/org.openhab.binding.jeelink/pom.xml",
                "bundles/org.openhab.binding.kaleidescape/pom.xml",
                "bundles/org.openhab.binding.keba/pom.xml",
                "bundles/org.openhab.binding.km200/pom.xml",
                "bundles/org.openhab.binding.knx/pom.xml",
                "bundles/org.openhab.binding.kodi/pom.xml",
                "bundles/org.openhab.binding.konnected/pom.xml",
                "bundles/org.openhab.binding.kostalinverter/pom.xml",
                "bundles/org.openhab.binding.kvv/pom.xml",
                "bundles/org.openhab.binding.lametrictime/pom.xml",
                "bundles/org.openhab.binding.lcn/pom.xml",
                "bundles/org.openhab.binding.leapmotion/pom.xml",
                "bundles/org.openhab.binding.lghombot/pom.xml",
                "bundles/org.openhab.binding.lgtvserial/pom.xml",
                "bundles/org.openhab.binding.lgwebos/pom.xml",
                "bundles/org.openhab.binding.lifx/pom.xml",
                "bundles/org.openhab.binding.linky/pom.xml",
                "bundles/org.openhab.binding.linuxinput/pom.xml",
                "bundles/org.openhab.binding.lirc/pom.xml",
                "bundles/org.openhab.binding.logreader/pom.xml",
                "bundles/org.openhab.binding.loxone/pom.xml",
                "bundles/org.openhab.binding.luftdateninfo/pom.xml",
                "bundles/org.openhab.binding.lutron/pom.xml",
                "bundles/org.openhab.binding.magentatv/pom.xml",
                "bundles/org.openhab.binding.mail/pom.xml",
                "bundles/org.openhab.binding.max/pom.xml",
                "bundles/org.openhab.binding.mcp23017/pom.xml",
                "bundles/org.openhab.binding.melcloud/pom.xml",
                "bundles/org.openhab.binding.meteoalerte/pom.xml",
                "bundles/org.openhab.binding.meteoblue/pom.xml",
                "bundles/org.openhab.binding.meteostick/pom.xml",
                "bundles/org.openhab.binding.miele/pom.xml",
                "bundles/org.openhab.binding.mihome/pom.xml",
                "bundles/org.openhab.binding.miio/pom.xml",
                "bundles/org.openhab.binding.milight/pom.xml",
                "bundles/org.openhab.binding.millheat/pom.xml",
                "bundles/org.openhab.binding.minecraft/pom.xml",
                "bundles/org.openhab.binding.modbus.e3dc/pom.xml",
                "bundles/org.openhab.binding.modbus.helioseasycontrols/pom.xml",
                "bundles/org.openhab.binding.modbus.stiebeleltron/pom.xml",
                "bundles/org.openhab.binding.modbus.studer/pom.xml",
                "bundles/org.openhab.binding.modbus.sunspec/pom.xml",
                "bundles/org.openhab.binding.modbus/pom.xml",
                "bundles/org.openhab.binding.monopriceaudio/pom.xml",
                "bundles/org.openhab.binding.mpd/pom.xml",
                "bundles/org.openhab.binding.mqtt.generic/pom.xml",
                "bundles/org.openhab.binding.mqtt.homeassistant/pom.xml",
                "bundles/org.openhab.binding.mqtt.homie/pom.xml",
                "bundles/org.openhab.binding.mqtt/pom.xml",
                "bundles/org.openhab.binding.mystrom/pom.xml",
                "bundles/org.openhab.binding.nanoleaf/pom.xml",
                "bundles/org.openhab.binding.neato/pom.xml",
                "bundles/org.openhab.binding.neeo/pom.xml",
                "bundles/org.openhab.binding.neohub/pom.xml",
                "bundles/org.openhab.binding.nest/pom.xml",
                "bundles/org.openhab.binding.netatmo/pom.xml",
                "bundles/org.openhab.binding.network/pom.xml",
                "bundles/org.openhab.binding.networkupstools/pom.xml",
                "bundles/org.openhab.binding.nibeheatpump/pom.xml",
                "bundles/org.openhab.binding.nibeuplink/pom.xml",
                "bundles/org.openhab.binding.nikobus/pom.xml",
                "bundles/org.openhab.binding.nikohomecontrol/pom.xml",
                "bundles/org.openhab.binding.novafinedust/pom.xml",
                "bundles/org.openhab.binding.ntp/pom.xml",
                "bundles/org.openhab.binding.nuki/pom.xml",
                "bundles/org.openhab.binding.nuvo/pom.xml",
                "bundles/org.openhab.binding.nzwateralerts/pom.xml",
                "bundles/org.openhab.binding.oceanic/pom.xml",
                "bundles/org.openhab.binding.ojelectronics/pom.xml",
                "bundles/org.openhab.binding.omnikinverter/pom.xml",
                "bundles/org.openhab.binding.onebusaway/pom.xml",
                "bundles/org.openhab.binding.onewire/pom.xml",
                "bundles/org.openhab.binding.onewiregpio/pom.xml",
                "bundles/org.openhab.binding.onkyo/pom.xml",
                "bundles/org.openhab.binding.opengarage/pom.xml",
                "bundles/org.openhab.binding.opensprinkler/pom.xml",
                "bundles/org.openhab.binding.openthermgateway/pom.xml",
                "bundles/org.openhab.binding.openuv/pom.xml",
                "bundles/org.openhab.binding.openweathermap/pom.xml",
                "bundles/org.openhab.binding.openwebnet/pom.xml",
                "bundles/org.openhab.binding.oppo/pom.xml",
                "bundles/org.openhab.binding.orvibo/pom.xml",
                "bundles/org.openhab.binding.paradoxalarm/pom.xml",
                "bundles/org.openhab.binding.pentair/pom.xml",
                "bundles/org.openhab.binding.phc/pom.xml",
                "bundles/org.openhab.binding.pioneeravr/pom.xml",
                "bundles/org.openhab.binding.pixometer/pom.xml",
                "bundles/org.openhab.binding.pjlinkdevice/pom.xml",
                "bundles/org.openhab.binding.plclogo/pom.xml",
                "bundles/org.openhab.binding.plugwise/pom.xml",
                "bundles/org.openhab.binding.powermax/pom.xml",
                "bundles/org.openhab.binding.pulseaudio/pom.xml",
                "bundles/org.openhab.binding.pushbullet/pom.xml",
                "bundles/org.openhab.binding.radiothermostat/pom.xml",
                "bundles/org.openhab.binding.regoheatpump/pom.xml",
                "bundles/org.openhab.binding.rfxcom/pom.xml",
                "bundles/org.openhab.binding.rme/pom.xml",
                "bundles/org.openhab.binding.robonect/pom.xml",
                "bundles/org.openhab.binding.rotel/pom.xml",
                "bundles/org.openhab.binding.rotelra1x/pom.xml",
                "bundles/org.openhab.binding.russound/pom.xml",
                "bundles/org.openhab.binding.sagercaster/pom.xml",
                "bundles/org.openhab.binding.samsungtv/pom.xml",
                "bundles/org.openhab.binding.satel/pom.xml",
                "bundles/org.openhab.binding.senechome/pom.xml",
                "bundles/org.openhab.binding.seneye/pom.xml",
                "bundles/org.openhab.binding.sensebox/pom.xml",
                "bundles/org.openhab.binding.sensibo/pom.xml",
                "bundles/org.openhab.binding.serialbutton/pom.xml",
                "bundles/org.openhab.binding.shelly/pom.xml",
                "bundles/org.openhab.binding.siemensrds/pom.xml",
                "bundles/org.openhab.binding.silvercrestwifisocket/pom.xml",
                "bundles/org.openhab.binding.sinope/pom.xml",
                "bundles/org.openhab.binding.sleepiq/pom.xml",
                "bundles/org.openhab.binding.smaenergymeter/pom.xml",
                "bundles/org.openhab.binding.smartmeter/pom.xml",
                "bundles/org.openhab.binding.smartthings/pom.xml",
                "bundles/org.openhab.binding.smhi/pom.xml",
                "bundles/org.openhab.binding.snmp/pom.xml",
                "bundles/org.openhab.binding.solaredge/pom.xml",
                "bundles/org.openhab.binding.solarlog/pom.xml",
                "bundles/org.openhab.binding.somfymylink/pom.xml",
                "bundles/org.openhab.binding.somfytahoma/pom.xml",
                "bundles/org.openhab.binding.sonos/pom.xml",
                "bundles/org.openhab.binding.sonyaudio/pom.xml",
                "bundles/org.openhab.binding.sonyprojector/pom.xml",
                "bundles/org.openhab.binding.spotify/pom.xml",
                "bundles/org.openhab.binding.squeezebox/pom.xml",
                "bundles/org.openhab.binding.synopanalyzer/pom.xml",
                "bundles/org.openhab.binding.systeminfo/pom.xml",
                "bundles/org.openhab.binding.tacmi/pom.xml",
                "bundles/org.openhab.binding.tado/pom.xml",
                "bundles/org.openhab.binding.tado/src/main/api/pom.xml",
                "bundles/org.openhab.binding.tankerkoenig/pom.xml",
                "bundles/org.openhab.binding.telegram/pom.xml",
                "bundles/org.openhab.binding.teleinfo/pom.xml",
                "bundles/org.openhab.binding.tellstick/pom.xml",
                "bundles/org.openhab.binding.tesla/pom.xml",
                "bundles/org.openhab.binding.tibber/pom.xml",
                "bundles/org.openhab.binding.tplinksmarthome/pom.xml",
                "bundles/org.openhab.binding.tradfri/pom.xml",
                "bundles/org.openhab.binding.unifi/pom.xml",
                "bundles/org.openhab.binding.upb/pom.xml",
                "bundles/org.openhab.binding.upnpcontrol/pom.xml",
                "bundles/org.openhab.binding.urtsi/pom.xml",
                "bundles/org.openhab.binding.valloxmv/pom.xml",
                "bundles/org.openhab.binding.vektiva/pom.xml",
                "bundles/org.openhab.binding.velbus/pom.xml",
                "bundles/org.openhab.binding.velux/pom.xml",
                "bundles/org.openhab.binding.venstarthermostat/pom.xml",
                "bundles/org.openhab.binding.verisure/pom.xml",
                "bundles/org.openhab.binding.vigicrues/pom.xml",
                "bundles/org.openhab.binding.vitotronic/pom.xml",
                "bundles/org.openhab.binding.volvooncall/pom.xml",
                "bundles/org.openhab.binding.weathercompany/pom.xml",
                "bundles/org.openhab.binding.weatherunderground/pom.xml",
                "bundles/org.openhab.binding.wemo/pom.xml",
                "bundles/org.openhab.binding.wifiled/pom.xml",
                "bundles/org.openhab.binding.windcentrale/pom.xml",
                "bundles/org.openhab.binding.wlanthermo/pom.xml",
                "bundles/org.openhab.binding.xmltv/pom.xml",
                "bundles/org.openhab.binding.xmppclient/pom.xml",
                "bundles/org.openhab.binding.yamahareceiver/pom.xml",
                "bundles/org.openhab.binding.yeelight/pom.xml",
                "bundles/org.openhab.binding.yioremote/pom.xml",
                "bundles/org.openhab.binding.zoneminder/pom.xml",
                "bundles/org.openhab.binding.zway/pom.xml",
                "bundles/org.openhab.extensionservice.marketplace.automation/pom.xml",
                "bundles/org.openhab.extensionservice.marketplace/pom.xml",
                "bundles/org.openhab.io.homekit/pom.xml",
                "bundles/org.openhab.io.hueemulation/pom.xml",
                "bundles/org.openhab.io.imperihome/pom.xml",
                "bundles/org.openhab.io.javasound/pom.xml",
                "bundles/org.openhab.io.mqttembeddedbroker/pom.xml",
                "bundles/org.openhab.io.neeo/pom.xml",
                "bundles/org.openhab.io.openhabcloud/pom.xml",
                "bundles/org.openhab.io.transport.modbus/pom.xml",
                "bundles/org.openhab.io.webaudio/pom.xml",
                "bundles/org.openhab.transform.bin2json/pom.xml",
                "bundles/org.openhab.transform.exec/pom.xml",
                "bundles/org.openhab.transform.javascript/pom.xml",
                "bundles/org.openhab.transform.jinja/pom.xml",
                "bundles/org.openhab.transform.jsonpath/pom.xml",
                "bundles/org.openhab.transform.map/pom.xml",
                "bundles/org.openhab.transform.regex/pom.xml",
                "bundles/org.openhab.transform.scale/pom.xml",
                "bundles/org.openhab.transform.xpath/pom.xml",
                "bundles/org.openhab.transform.xslt/pom.xml",
                "bundles/org.openhab.voice.googletts/pom.xml",
                "bundles/org.openhab.voice.mactts/pom.xml",
                "bundles/org.openhab.voice.marytts/pom.xml",
                "bundles/org.openhab.voice.picotts/pom.xml",
                "bundles/org.openhab.voice.pollytts/pom.xml",
                "bundles/org.openhab.voice.voicerss/pom.xml",
                "bundles/pom.xml",
                "features/openhab-addons-external/pom.xml",
                "features/openhab-addons/pom.xml",
                "features/pom.xml",
                "itests/org.openhab.binding.astro.tests/pom.xml",
                "itests/org.openhab.binding.avmfritz.tests/pom.xml",
                "itests/org.openhab.binding.feed.tests/pom.xml",
                "itests/org.openhab.binding.hue.tests/pom.xml",
                "itests/org.openhab.binding.max.tests/pom.xml",
                "itests/org.openhab.binding.modbus.tests/pom.xml",
                "itests/org.openhab.binding.mqtt.homeassistant.tests/pom.xml",
                "itests/org.openhab.binding.mqtt.homie.tests/pom.xml",
                "itests/org.openhab.binding.nest.tests/pom.xml",
                "itests/org.openhab.binding.ntp.tests/pom.xml",
                "itests/org.openhab.binding.systeminfo.tests/pom.xml",
                "itests/org.openhab.binding.tradfri.tests/pom.xml",
                "itests/org.openhab.binding.wemo.tests/pom.xml",
                "itests/org.openhab.io.hueemulation.tests/pom.xml",
                "itests/org.openhab.io.mqttembeddedbroker.tests/pom.xml",
                "itests/pom.xml",
                "pom.xml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "bom/openhab-addons/pom.xml, bom/openhab-core-index/pom.xml, bom/pom.xml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "bom/openhab-addons/pom.xml, bom/openhab-core-index/pom.xml, bom/pom.xml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Java (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Java",
              "largest_source_bytes": 167131,
              "source_files_sampled": 7899,
              "oversized_source_files": 18
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Java (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "18/7899 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 7899,
                      "oversized": 18
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "sample"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "bundles/org.openhab.binding.enturno/src/main/resources/realtime_request.graphql"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "bundles/org.openhab.binding.enturno/src/main/resources/realtime_request.graphql",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "bundles/org.openhab.binding.enturno/src/main/resources/realtime_request.graphql"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "sample",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "sample"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Could not fetch maven package 'org.openhab.addons.bom:org.openhab.addons.bom.test-index' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bom:org.openhab.addons.bom.runtime-index' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bom:org.openhab.addons.bom.openhab-core-index' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.astro' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.adorne' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.atlona' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.allplay' from its registry",
    "Could not fetch maven package 'org.openhab.addons.bundles:org.openhab.binding.autelis' from its registry",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T03:46:31.146826Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/openhab/openhab2-addons.svg",
  "full_name": "openhab/openhab2-addons",
  "license_state": "standard",
  "license_spdx": "EPL-2.0"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计.