
ioBroker.miner
ibroker的矿工适配器
与不同的加密矿工api交互
路线图
- V0.1:设备管理,TRM实现
- 更多矿工支持:bos+, xmrig, avalon,…?
- 实现更多功能(控件+来自设备的信息)
- 池支持
- 设备发现
- 哨兵
- 更多:参见Todo。总经理/事务
用法
当在实例设置(或Admin DeviceManager选项卡)中添加新设备时,你应该得到这样一个对话框:

这些选项应该是不言自明的。它们都有更多细节的工具提示。如果有任何不清楚的地方,请在问题、讨论或论坛中提出。
大脑OS矿机类型
有两种brainins矿机实现,因为brainins在固件世代之间改变了API堆栈:
bos:使用这个为官方的大脑操作系统固件>= 23.03,通常是Antminer S19系列及更新版本。这个实现使用gRPC上的brainins OS公共API (PAPI)。bosMiner:将此用于遗留的brains OS固件< 23.03,通常是s19之前的设备,如Antminer S9和S17系列。这将继续使用旧的与cgminer兼容的API。
bosMiner 还支持 control.powerTarget 状态。Legacy brains OS并没有通过cgminer兼容的API来公开这一点,所以适配器使用SSH解决方案:它登录到矿工,更新 power_target 在 [autotuning] 节和 timestamp 在 [format] 的部分 /etc/bosminer.toml,将备份存储在 /etc/bosminer.toml.iobroker-power-target.bak,停止 bosminer,写入配置,然后启动 bosminer 再一次。配置有效的SSH凭据 bosMiner 设备;默认用户名为 root 没有密码。
警告:改变 control.powerTarget 在旧 bosMiner 设备需要一个完整的 bosminer 停止/启动循环。不要频繁更改此值;将它用于有意的目标更改,而不是用于快速的自动化循环。
如果您不确定选择哪个,请先检查固件生成/设备系列:
- S19/S21/T19和更新的brainins OS映像列在当前固件下载流程中,应该正常使用
bos。 - S17图片发布为
v 23.01和S9图像为v 22.08.1在大脑下载页面上,所以那些后代应该使用bosMiner。
引用:
- brains OS公共API: https://academy.braiins.com/braiins-os/papi-about
- brains OS固件下载: https://braiins.com/os-firmware/download
没有应用程序的阿瓦隆web登录
阿瓦隆Nano 3 / 3S矿机的web界面没有密码形式:它显示一个QR码,必须用阿瓦隆家庭应用程序扫描。适配器可以批准登录:
- 在设备设置中输入矿工的web密码(
web password). 这是在Avalon Family应用程序中为矿工设置的密码。 - 在浏览器中打开矿工的IP地址,显示带有二维码的登录页面。
- 在设备管理器中单击设备上的“批准web登录”。浏览器在5秒内登录成功。
这与扫描QR码的原理相同:适配器向矿工发送 qr_auth 应用程序发送的命令,用web密码签名。
固件检查BOS使用最后报告的控制板类型和安装版本,包括当设备离线或禁用时。BOS设备必须至少报告过一次它的身份。Avalon的更新检查目前只覆盖Nano 3的确切型号:应用程序 nano3 feed没有经过验证的Nano 3S兼容性,因此Nano 3S更新状态仍然未知。
对象模型
所有对象都是在下面创建的:
miner.<instance>.miner.<minerId>
<minerId> 是来自设备配置的稳定ID (settings.id). 这允许在同一主机上运行多个挖矿进程。
组(渠道)
info: identity/config/firmware/connection metastats:实时性能指标(哈希值、份额、功率、温度……)control:可写控件(启动/停止,重启,…)raw:原始API有效负载(专家)
实体(可选的子树)
一些矿工公开子实体。如果可用,它们被放置在矿工下面:
pools.<index>...hardware.gpus.<index>...hardware.hashboards.<index>...
例子
miner.0.miner.<minerId>.enabledminer.0.miner.<minerId>.control.runningminer.0.miner.<minerId>.stats.totalHashrateminer.0.miner.<minerId>.hardware.gpus.0.stats.tempminer.0.miner.<minerId>.raw.stats
启用/禁用挖矿器
每个挖矿设备都有一个可写顶层 enabled 状态:
miner.<instance>.miner.<minerId>.enabled
将此状态设置为 false 在运行时禁用适配器中的挖掘器。被禁用的矿工被卸载,并且没有轮询/控制处理对他们有效。把它设回 true 在不重新启动适配器的情况下再次初始化挖掘器。
这和 control.running: enabled 控制适配器是否管理挖矿器,而 control.running 请求受支持的矿机启动或停止挖矿。
树的例子
这只是一个概述/想法/计划。它们还没有全部实现,但它应该让您了解预期的结构和命名。实际的实现可能在一些细节上有所不同,但总体结构应该与此相似。
miner.0
miner
<minerId> (device)
enabled (boolean) enable/disable adapter handling for this miner
info (channel)
minerType (string) e.g. xmRig / teamRedMiner / bosMiner
host (string)
version (string) (maps to feature: version)
online (boolean) derived from lastSeen
lastSeen (number) unix ms
stats (channel)
totalHashrate (number) H/s (maps to feature: totalHashrate)
power (number) W
dynamicPowerTarget (number) W, current dynamic target reported by miner
efficiency (number) H/W
acceptedShares (number)
rejectedShares (number)
control (channel) (writable states only here, top-level)
running (boolean) start/stop (maps to feature: running)
reboot (boolean) "button"
profile (string) performance profile (e.g. low/medium/high)
powerTarget (number) W, configured target to write to miner
pools (channel)
0 (channel)
info
url (string)
user (string)
stats
status (string)
acceptedShares (number)
rejectedShares (number)
1 ...
hardware (channel)
gpus (channel)
0 (channel)
info
name (string)
stats
hashrate (number)
temp (number) °C
fanRpm (number)
power (number)
1 ...
hashboards (channel) (ASICs)
0
stats
hashrate (number)
temp (number)
raw (channel)
stats (object/string) raw miner payload (maps to feature: rawStats)
更新日志
1.2.0 (2026-11-03)
- (claude) 新每天检查一次矿工可用的固件/软件更新,并在设备管理器中显示它们:新状态
info.latestVersion和info.updateAvailable(brainins OS, XMRig, TeamRedMiner, icerriver OC固件,Avalon Nano 3),加上brainins OS的自动升级状态。可以在实例设置中关闭;“检查更新”动作立即检查(#195) - (claude) 固定:
info.online现在切换到false在连续三次投票失败后,又回到true在下一次成功的时候;在轮询间隔后挂起的轮询计数为失败,但至少30秒,并且对brain OS (gRPC)和XMRig / icerriver (HTTP)的请求现在在该时间后被取消,而不是保持打开(#222) - (claude) 新: Avalon Nano 3 / 3S:在没有Avalon Family应用程序的情况下,登录浏览器进入矿工的web界面。在设备设置中输入矿工的web密码,打开矿工的登录页面,并使用新的“批准web登录”设备操作(#182)
- (claude) 新: Avalon: WiFi信号强度为
info.rssi(dBm),也显示在设备管理器中。它与现有的投票请求一起提供,因此不需要额外的往返费用;矿工在有线连接或固件不报告它只是让它空(#178) - (claude) 新:设备管理器中的电源目标(brain OS)
bos和bosMiner):在设备卡上设置正确;该值仅与“Set”或Enter一起发送,而不是在每次击键时发送。为bos,control.powerTarget现在显示了矿工的配置目标(当它在其他地方被改变时),并且矿工接受的范围之外的值在到达它之前被拒绝(#176) - (claude) 增强:无法到达的矿工不再以全速率进行轮询:每次失败的轮询之间的时间加倍,最多5分钟,稍微随机化,并在下一次成功的轮询时返回轮询间隔(#175)
- (claude) 固定:实例保持黄色(“连接到设备或服务”:没有),尽管它的矿工是可访问的:
info.connection现在列出了可访问的矿工(与sonoff适配器一样,以逗号分隔),因此,当至少有一个启用的矿工可访问时,实例是绿色的,并且管理员会显示哪些矿工(#231) - 依赖更新
1.1.0 (2026-07-12)
- (副驾驶)适配器需要node.js >= 22现在
- (SimonFischer04) 新:增加了一个新的
bos使用brainins公共API的新brainins OS固件的miner类型 - (SimonFischer04) 增强:扩展遗产
bosMiner可写设备control.powerTarget支持有意的功率目标更改 - (SimonFischer04) 新:添加顶级
enabled状态以在运行时动态启用或禁用矿机处理 - (SimonFischer04) 固定:从本地部分和代码中删除了示例配置(option1, option2)(修复#126 / E5040)
1.0.4 (2026-04-07)
- 修复package-json中的repo url
1.0.3 (2026-04-07)
- 增加管理员要求来修复DM(在当前的7.7.22稳定版中根本不起作用)
1.0.2 (2026-04-07)
- (SimonFischer04) CI / CD将部署工作流从NPM经典令牌迁移到可信发布(OIDC)(修复#80)
- 清理自述文件
学分
- 徽标是使用ChatGPT创建的
许可证
版权所有(c) 2026西蒙·费舍尔04 [email protected]
本项目在GNU通用公共许可证v3.0下授权-参见 许可证 获取详细信息。
