Адаптер майнера для ioBroker
Взаимодействуйте с различными API криптомайнеров.
Дорожная карта
- v0.1: управление устройствами, реализация TRM
- Поддержка большего количества майнеров: bos+, xmrig, avalon, ...?
- Внедрить больше функций (управление + информация с устройств).
- бассейны поддерживают
- обнаружение устройства
- часовой
- Подробнее: см. Todo.md / issues
Использование
При добавлении нового устройства в настройках экземпляра (или на вкладке «Администратор устройств») должно появиться диалоговое окно, подобное этому:

Все параметры должны быть достаточно понятны. Для каждого из них также есть всплывающие подсказки с более подробной информацией. Если что-то осталось непонятным, не стесняйтесь задавать вопросы в разделе "Проблемы", обсуждении или на форуме.
Типы майнеров Brains OS
Существует две реализации майнера Braiins, поскольку компания Braiins изменила стек API при переходе на разные поколения прошивки:
bosИспользуйте это для официальной прошивки Brain OS.>= 23.03Как правило, это Antminer серии S19 и более новые модели. В данной реализации используется публичный API Braiins OS (PAPI) через gRPC.bosMinerИспользуйте это для устаревшей прошивки Brain OS.< 23.03Как правило, это устройства, выпущенные до S19, такие как серии Antminer S9 и S17. При этом используется более старый API, совместимый с CGMiner.
bosMiner также поддерживаетcontrol.powerTarget состояние. Устаревшая версия Brainins OS не предоставляет эту информацию через API, совместимый с CGMiner, поэтому адаптер использует обходной путь через 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 Цикл остановки/запуска. Не меняйте это значение часто; используйте его для целенаправленных изменений целевых параметров, а не для быстрых циклов автоматизации.
Если вы не уверены в выборе, сначала проверьте поколение прошивки/семейство устройств:
- Образы ОС Braiins для S19/S21/T19 и более новых моделей указаны в текущем процессе загрузки прошивки и обычно должны использовать
bos. - Изображения S17 опубликованы как
v 23.01и изображения S9 в качествеv 22.08.1на странице загрузки Braiins, поэтому представителям старшего поколения следует использоватьbosMiner.
Ссылки:
- Публичный API ОС Braiins: https://academy.braiins.com/braiins-os/papi-about
- Загрузка прошивки Braiins OS: https://braiins.com/os-firmware/download
Объектная модель
Все объекты создаются в рамках:
miner.<instance>.miner.<minerId>
<minerId> — это стабильный идентификатор из конфигурации устройства (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)
Кредиты
- Логотип был создан с помощью ChatGPT.
Changelog
1.1.0 (2026-07-12)
- (copilot) Adapter requires node.js >= 22 now
- (SimonFischer04) NEW: Added a new
bosminer type for newer Braiins OS firmware using the Braiins Public API - (SimonFischer04) ENHANCED: Extended legacy
bosMinerdevices with writablecontrol.powerTargetsupport for deliberate power target changes - (SimonFischer04) NEW: Added top-level
enabledstate to dynamically enable or disable miner handling at runtime - (SimonFischer04) FIXED: Removed example configuration (option1, option2) from native section and code (fixes #126 / E5040)
1.0.4 (2026-04-07)
- (SimonFischer04) fix repo url in package-json
1.0.3 (2026-04-07)
- (SimonFischer04) increase admin requirement to fix DM (does not work at all with current stable 7.7.22)
1.0.2 (2026-04-07)
- (SimonFischer04) CI/CD: Migrated deploy workflow from NPM classic tokens to Trusted Publishing (OIDC) (fixes #80)
- (SimonFischer04) cleanup readme
1.0.1 (2026-04-06)
- (SimonFischer04) fix release
License
Copyright (c) 2026 SimonFischer04 simi.fischa@gmail.com
This project is licensed under the GNU General Public License v3.0 - see LICENSE for details.