github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/plugins/cgminer/bitmine.md (about) 1 2 --- 3 title: "Bitmine" 4 linkTitle: "bitmine" 5 date: 2021-10-20 6 description: > 7 8 --- 9 10 Работа с устройствами ASIC производителя Bitmine Antminer. 11 12 13 поддерживаемые усторойства: 14 * S9 15 * S7 16 * L3 17 * L3 18 * D3 19 * T9 20 21 ### javascript свойства 22 23 ---------------- 24 25 ### Miner Базовая сущность 26 27 ```coffeescript 28 # константа с уникальным id устройства 29 const ENTITY_ID 30 ```` 31 32 ```coffeescript 33 result = Miner 34 .stats() 35 .devs() 36 .summary() 37 .pools() 38 .addPool(url string) 39 .version() 40 .enable(poolId int64) 41 .disable(poolId int64) 42 .delete(poolId int64) 43 .switchPool(poolId int64) 44 .restart() 45 ``` 46 47 | значение | описание | 48 |-------------|---------| 49 | result | type: Object (Result) | 50 51 | значение | описание | 52 |-------------|---------| 53 | stats | type: метод, статистика | 54 | devs | type: метод, статистика | 55 | summary | type: метод, статистика | 56 | pools | type: метод, список серверов | 57 | addPool | type: метод, добавление сервера | 58 | version | type: метод, версия прошивки | 59 | enable | type: метод, включение в работу сервера | 60 | disable | type: метод, включение сервера | 61 | delete | type: метод, удаление сервера | 62 | switchPool | type: метод, переключние сервера | 63 | restart | type: метод, мягкий перезапуск устройства | 64 65 ---------------- 66 67 ### объект Result 68 69 ```coffeescript 70 result = { 71 error: false, 72 errMessage: "", 73 result: "" 74 } 75 ``` 76 | значение | описание | 77 |-------------|---------| 78 | error | type: boolean, признак ошибки | 79 | errMessage | type: string, человекопонятное описание ошибки | 80 | result | type: string, json объект в текстовом формате, если запрос завершился без ошибок | 81 82 ---------------- 83 84 ### функция entityAction 85 86 ```coffeescript 87 entityAction = (entityId, actionName, args)-> 88 ``` 89 | значение | описание | 90 |-------------|-------------------| 91 | entityId | type: string, id сущности отправляющего сообщение | 92 | actionName | type: string, название действия, без символа '/' в верхнем регистре | 93 | args | Type: map[string]any | 94 95 ---------------- 96 97 ### объект EntityStateParams 98 99 ```coffeescript 100 entityStateParams = { 101 "new_state": "" 102 "attribute_values": {} 103 "settings_value": {} 104 "storage_save": true 105 } 106 ``` 107 | значение | описание | 108 |-------------|---------| 109 | new_state | type: *string, наименование статуса | 110 | attribute_values | type: Object, новое состяние аттрибутов сущности | 111 | settings_value | type: Object, новое состояние настроек сущности | 112 | storage_save | type: boolean, признак записи нового состояния в бд | 113 114 ---------------- 115 116 ### пример кода 117 118 ```coffeescript 119 # cgminer 120 # ################################## 121 122 ifError =(res)-> 123 return !res || res.error || res.Error 124 125 checkStatus =-> 126 stats = Miner.stats() 127 if ifError(stats) 128 EntitySetState ENTITY_ID, 129 'new_state': 'ERROR' 130 return 131 p = JSON.parse(stats.result) 132 print p 133 134 checkSum =-> 135 summary = Miner.summary() 136 if ifError(summary) 137 EntitySetState ENTITY_ID, 138 'new_state': 'ERROR' 139 return 140 p = JSON.parse(summary.result) 141 print p 142 143 entityAction = (entityId, actionName, args)-> 144 switch actionName 145 when 'CHECK' then checkStatus() 146 when 'SUM' then checkSum() 147 ```