# Moria API documentation
# API Documentation
## List of Routes
1. **Google OAuth Callback**
- **Method:** `GET`
- **URL:** `/oauth/google/callback`
- **Description:** Handles the callback from Google OAuth and redirects to the UI callback with the authentication token.
2. **User Information**
- **Method:** `GET`
- **URL:** `/auth/userinfo`
- **Description:** Retrieves user information.
- **Pre-handler:** Requires authentication check.
3. **Get User Data**
- **Method:** `GET`
- **URL:** `/auth/user/data`
- **Description:** Retrieves user-specific data based on provided keys.
- **Query Parameters:**
- `keys` (string, required): Comma-separated list of keys.
- **Pre-handler:** Requires authentication check.
4. **Set User Data**
- **Method:** `POST`
- **URL:** `/auth/user/data`
- **Description:** Sets user-specific data.
- **Request Body:**
- `entries` (object, required): Key-value pairs of data to set.
- **Pre-handler:** Requires authentication check.
5. **Delete User Data**
- **Method:** `DELETE`
- **URL:** `/auth/user/data`
- **Description:** Deletes user-specific data based on provided keys.
- **Request Body:**
- `keys` (array of strings, required): List of keys to delete.
- **Pre-handler:** Requires authentication check.
6. **Generate New Auth Token**
- **Method:** `POST`
- **URL:** `/auth/token`
- **Description:** Generates a new authentication token.
- **Pre-handler:** Requires authentication check.
7. **List Things**
- **Method:** `GET`
- **URL:** `/auth/list-things`
- **Description:** Lists things with optional query parameters for filtering.
- **Query Parameters:**
- `query` (string): Query string for filtering.
- `status` (string): Status filter.
- `offset` (integer): Offset for pagination.
- `limit` (integer): Limit for pagination.
- **Pre-handler:** Requires authentication check.
8. **Tail Log**
- **Method:** `GET`
- **URL:** `/auth/tail-log`
- **Description:** Retrieves aggregated logs with optional query parameters.
- **Query Parameters:**
- `key` (string, required): Log key.
- `type` (string): Log type filter.
- `tag` (string): Log tag filter.
- `start` (integer): Start timestamp filter.
- `end` (integer): End timestamp filter.
- `offset` (integer): Offset for pagination.
- `limit` (integer): Limit for pagination.
- **Pre-handler:** Requires authentication check.
9. **Query Actions Batch**
- **Method:** `GET`
- **URL:** `/auth/actions/batch`
- **Description:** Retrieves a batch of actions based on provided IDs.
- **Query Parameters:**
- `ids` (string, required): Comma-separated list of action IDs.
- **Pre-handler:** Requires authentication check.
10. **Query Actions**
- **Method:** `GET`
- **URL:** `/auth/actions/:type`
- **Description:** Queries actions based on type and optional filters.
- **Path Parameters:**
- `type` (string, required): Action type.
- **Query Parameters:**
- `gt` (integer): Greater than timestamp filter.
- `gte` (integer): Greater than or equal to timestamp filter.
- `lt` (integer): Less than timestamp filter.
- `lte` (integer): Less than or equal to timestamp filter.
- `limit` (integer): Limit for pagination.
- `reverse` (boolean): Reverse order.
- **Pre-handler:** Requires authentication check.
11. **Get Action**
- **Method:** `GET`
- **URL:** `/auth/actions/:type/:id`
- **Description:** Retrieves an action based on type and ID.
- **Path Parameters:**
- `type` (string, required): Action type.
- `id` (integer, required): Action ID.
- **Pre-handler:** Requires authentication check.
12. **Push Action**
- **Method:** `POST`
- **URL:** `/auth/actions/voting`
- **Description:** Pushes a new action for voting.
- **Request Body:**
- `query` (object, required): Action query.
- `action` (string, required): Action name.
- `params` (array, required): Action parameters.
- **Pre-handler:** Requires authentication check.
13. **Vote Action**
- **Method:** `PUT`
- **URL:** `/auth/actions/voting/:id/vote`
- **Description:** Votes on a specific action.
- **Path Parameters:**
- `id` (integer, required): Action ID.
- **Request Body:**
- `approve` (boolean, required): Approval status.
- **Pre-handler:** Requires authentication check.
14. **Cancel Action**
- **Method:** `DELETE`
- **URL:** `/auth/actions/voting/:id/cancel`
- **Description:** Cancels a specific action.
- **Path Parameters:**
- `id` (integer, required): Action ID.
- **Pre-handler:** Requires authentication check.
# **Tail Log Responses**
## Powermeter Log
### Tail Log
- **Type:** powermeter
- **Tag:** t-powermeter
#### Log Object Example
```json
{
"ts": 1709266500000,
"aggrTsRange": "",
"alerts_aggr": {},
"site_power_w": 0
}
```
- **ts:** Timestamp of the log.
- **aggrTsRange:** Aggregated timestamp range (empty in the example).
- **alerts_aggr:** Aggregated alerts (empty in the example).
- **site_power_w:** Site power in watts.
## Miner Log
### Tail Log
- **Type:** miner
- **Tag:** t-miner
#### Log Object Example
```json
{
"ts": 1709266500000,
"aggrTsRange": "",
"hashrate_mhs_1m_sum_aggr": 601432498437.9084,
"hashrate_mhs_1m_group_sum_aggr": {
"bitdeer-10a": 25975985839.820015,
"bitdeer-7a": 25975095509.82001,
"bitdeer-9a": 25975245509.840008,
...
},
"hashrate_mhs_1m_avg_aggr": 139177113.16929212,
"hashrate_mhs_1m_cnt_aggr": 3977,
"hashrate_mhs_1m_cnt_active_aggr": 3977,
"power_w_sum_aggr": 16701560,
"power_w_avg_aggr": 4370,
"uptime_ms_avg_aggr": 35954523.79965192,
"efficiency_w_ths_avg_aggr": 20.299284582893115,
"frequency_mhz_avg_aggr": 507.5,
"temperature_c_avg_aggr": 92.49276373420878,
"temperature_c_group_avg_aggr": {
"bitdeer-10a": 100.01470000000003,
"bitdeer-7a": 99.91800000000005,
...
},
"temperature_c_group_max_aggr": {
"bitdeer-10a": null,
"bitdeer-7a": null,
...
},
"alerts_aggr": {
"critical": 8901,
"medium": 3977,
"high": 1231
},
"offline_cnt": {},
"error_cnt": {},
...
"nominal_hashrate_mhs_avg_aggr": 197931022.72239617,
"nominal_efficiency_w_ths_avg_aggr": 24.83928901885104,
"nominal_hashrate_mhs_sum_aggr": 741423000000,
"nominal_efficiency_w_ths_sum_aggr": 98707.59999999966
}
```
- `ts`: Timestamp of the log.
- `aggrTsRange`: Aggregated timestamp range (empty in the example).
- `hashrate_mhs_1m_sum_aggr`: Sum of 1-minute average hashrates across all miners.
- `hashrate_mhs_1m_group_sum_aggr`: Sum of 1-minute average hashrates grouped by miner.
- `hashrate_mhs_1m_avg_aggr`: Average 1-minute hashrate across all miners.
- `hashrate_mhs_1m_cnt_aggr`: Count of 1-minute hashrate entries.
- `hashrate_mhs_1m_cnt_active_aggr`: Count of active 1-minute hashrate entries.
- `power_w_sum_aggr`: Sum of power consumption in watts.
- `power_w_avg_aggr`: Average power consumption in watts.
- `uptime_ms_avg_aggr`: Average miner uptime in milliseconds.
- `efficiency_w_ths_avg_aggr`: Average efficiency in watts per terahash.
- `frequency_mhz_avg_aggr`: Average miner frequency in megahertz.
- `temperature_c_avg_aggr`: Average miner temperature in degrees Celsius.
- `temperature_c_group_avg_aggr`: Average temperature grouped by miner.
- `temperature_c_group_max_aggr`: Maximum temperature grouped by miner (null if not applicable).
- `alerts_aggr`: Aggregated count of critical, medium, and high alerts.
- `offline_cnt`, `error_cnt`, `power_mode_sleep_cnt`, `power_mode_low_cnt`, `power_mode_normal_cnt`, `power_mode_high_cnt`: Counts for various miner states and power modes.
- `type_cnt`: Count of different miner types.
- `offline_type_cnt`, `error_type_cnt`, `power_mode_sleep_type_cnt`, `power_mode_low_type_cnt`, `power_mode_normal_type_cnt`, `power_mode_high_type_cnt`: Counts for different miner states and power modes by type.
- `hashrate_mhs_1m_type_group_sum_aggr`: Sum of 1-minute average hashrates grouped by miner type.
- `hashrate_mhs_1m_type_group_avg_aggr`: Average 1-minute hashrate grouped by miner type.
- `efficiency_w_ths_type_group_avg_aggr`: Average efficiency grouped by miner type.
- `hashrate_mhs_1m_container_group_sum_aggr`: Sum of 1-minute average hashrates grouped by mining container.
- `hashrate_mhs_1m_container_group_avg_aggr`: Average 1-minute hashrate grouped by mining container.
- `efficiency_w_ths_container_group_avg_aggr`: Average efficiency grouped by mining container.
- `nominal_hashrate_mhs_avg_aggr`: Average nominal hashrate across all miners.
- `nominal_efficiency_w_ths_avg_aggr`: Average nominal efficiency in watts per terahash.
- `nominal_hashrate_mhs_sum_aggr`: Sum of nominal hashrates across all miners.
- `nominal_efficiency_w_ths_sum_aggr`: Sum of nominal efficiencies across all miners.
## Container Log
### Tail Log
- **Type:** container
- **Tag:** t-container
#### Log Object Example
```json
{
"ts": 1709267100000,
"aggrTsRange": "",
"alerts_aggr": {},
"container_status_aggr": {
"bitdeer-10a": "stopped"
},
"container_power_w_aggr": {
"bitdeer-10a": 63400
},
"container_specific_stats_group_aggr": {
"bitdeer-10a": {
"cold_temp_c_1_group": 44,
"cold_temp_c_2_group": 44,
"hot_temp_c_1_group": 0,
"hot_temp_c_2_group": 27.7,
"cold_temp_c_w_1_group": 0,
"cold_temp_c_w_2_group": 26.6,
"hot_temp_c_w_1_group": 0,
"hot_temp_c_w_2_group": 27.2
},
"antspace-hydro-1": {
"distribution_box1_power_group": 44,
"distribution_box2_power_group": 44,
"supply_liquid_flow_group": 44,
"supply_liquid_pressure_group": 44,
"return_liquid_pressure_group": 44,
"supply_liquid_temp_group": 44,
"return_liquid_temp_group": 44
}
},
"container_nominal_hashrate_mhs_sum_aggr": 22032000000,
"container_nominal_hashrate_mhs_avg_aggr": 22032000000,
"container_nominal_efficiency_w_ths_avg_aggr": 26,
"container_nominal_miner_capacity_sum_aggr": 108
}
```
- **ts**: Timestamp of the log.
- **aggrTsRange**: Aggregated timestamp range (empty in the example).
- **alerts_aggr**: Aggregated count of critical, medium, and high alerts.
- **container_status_aggr**: Aggregated container status, indicating whether the container is running, stopped, or offline.
- *Example*: "bitdeer-10a": "stopped"
- **container_power_w_aggr**: Aggregated power consumption of the container in watts.
- *Example*: "bitdeer-10a": 63400
- **container_specific_stats_group_aggr**: Aggregated specific statistics grouped by container, providing detailed metrics such as temperature, liquid flow, pressure, etc.
- *for "bitdeer"*:
- `cold_temp_c_1_group`: 44
- `cold_temp_c_2_group`: 44
- `hot_temp_c_1_group`: 0
- `hot_temp_c_2_group`: 27.7
- `cold_temp_c_w_1_group`: 0
- `cold_temp_c_w_2_group`: 26.6
- `hot_temp_c_w_1_group`: 0
- `hot_temp_c_w_2_group`: 27.2
- *for "antspace"*:
- `distribution_box1_power_group`: 44
- `distribution_box2_power_group`: 44
- `supply_liquid_flow_group`: 44
- `supply_liquid_pressure_group`: 44
- `return_liquid_pressure_group`: 44
- `supply_liquid_temp_group`: 44
- `return_liquid_temp_group`: 44
- **container_nominal_hashrate_mhs_sum_aggr**: Sum of nominal hashrates across all miners within the container.
- **container_nominal_hashrate_mhs_avg_aggr**: Average nominal hashrate across all miners within the container.
- **container_nominal_efficiency_w_ths_avg_aggr**: Average nominal efficiency in watts per terahash within the container.
- **container_nominal_miner_capacity_sum_aggr**: Sum of the nominal capacity of all miners within the container.
## Miner Pool Log
### Tail Log
- **Type:** minerpool
- **Tag:** t-minerpool
#### Log Object Example
```json
{
"ts": 1709230800000,
"aggrTsRange": "",
"pool_snap": {
"haven7346": {
"success": true,
"raw_errors": [],
"stats": {
"timestamp": 1709230798880,
"balance": 0.0003474447999510195,
"unsettled": 0.0003474447999510195,
"revenue_24h": 0,
"hashrate": 279670375560265,
"hashrate_1h": 114320268444850,
"hashrate_24h": 657474469695248,
"hashrate_stale_1h": 143453351303817,
"hashrate_stale_24h": 297697436932114,
"worker_count": 11,
"workers": [
{
"id": "82.228.36.2",
"name": "worker1828",
"online": false,
"last_updated": 40,
"hashrate": 242369022044444,
"hashrate_1h": 462152434906136,
"hashrate_24h": 935863193525903,
"hashrate_stale_1h": 184754862340453,
"hashrate_stale_24h": 800014624419960
},
// ... (other workers)
],
"containers": {
"bitdeer-1a": {
"workers": [
"worker1828",
"worker2257",
"worker9832",
"worker7620",
"worker9384",
"worker1899",
"worker5990",
"worker2305",
"worker7388",
"worker7096",
"haven7346"
],
"hashrate": 5753050353966545,
"hashrate_1h": 6456213390882272,
"hashrate_24h": 5953873698620150,
"hashrate_stale_1h": 5514739140052943,
"hashrate_stale_24h": 5253581484689640,
"active_workers_count": 5,
"workers_count": 11
}
}
},
"config": {}
}
}
}
```
- **ts:** Timestamp of the log.
- **aggrTsRange:** Aggregated timestamp range.
- **pool_snap:** Pool snapshot object containing detailed information.
- **haven7346:** Pool account username.
- **success:** Status of the pool snapshot retrieval.
- **raw_errors:** List of raw errors .
- **stats:** Statistics of the pool account.
- **timestamp:** Timestamp of the statistics.
- **balance:** Account balance.
- **unsettled:** Unsettled balance.
- **revenue_24h:** Revenue in the last 24 hours.
- **hashrate:** Total hashrate.
- **hashrate_1h:** Hashrate in the last hour.
- **hashrate_24h:** Hashrate in the last 24 hours.
- **hashrate_stale_1h:** Stale hashrate in the last hour.
- **hashrate_stale_24h:** Stale hashrate in the last 24 hours.
- **worker_count:** Total number of workers.
- **workers:** List of worker details.
- **containers:** Mining containers and their statistics.
## Electricity Log
- **Type:** electricity
- **Tag:** t-electricity
### Tail Log
#### Log Object Example
```json
{
"ts": 1709200800000,
"aggrTsRange": "",
"energy_aggr": {
"kuna": {
"date": "2024-02-29",
"hour": "7",
"ts": 1709200800000,
"active_energy_in_aggr": 64.06802299954167,
"active_energy_out_aggr": 64.06802299954167,
"reactive_energy_q1_aggr": 64.06802299954167,
"reactive_energy_q2_aggr": 64.06802299954167,
"reactive_energy_q3_aggr": 64.06802299954167,
"reactive_energy_q4_aggr": 64.06802299954167,
"spot_price_aggr": 83.36000248155912,
"ute_energy_aggr": 64.29896069588739
}
}
}
```
- **ts:** Timestamp of the log.
- **aggrTsRange:** Aggregated timestamp range (empty in the example).
- **energy_aggr:** Aggregated energy information.
- **kuna:** Electricity provider name.
- **date:** Date of the recorded data.
- **hour:** Hour of the recorded data.
- **ts:** Timestamp of the recorded data.
- **active_energy_in_aggr:** Aggregated active energy in (Consumed energy).
- **active_energy_out_aggr:** Aggregated active energy out.
- **reactive_energy_q1_aggr:** Aggregated reactive energy in quadrant 1.
- **reactive_energy_q2_aggr:** Aggregated reactive energy in quadrant 2.
- **reactive_energy_q3_aggr:** Aggregated reactive energy in quadrant 3.
- **reactive_energy_q4_aggr:** Aggregated reactive energy in quadrant 4.
- **spot_price_aggr:** Aggregated spot price.
- **ute_energy_aggr:** Aggregated UTE energy (Available Energy).
# **List Things Responses**
## Common Response Structure
All things would have this common json structure.
```json
{
"id": "09w3zsh3v7mnic5",
"type": "miner-am-s19xp",
"tags": [
"t-miner-am-s19xp",
"t-miner-am",
"t-miner",
"antminer",
"1",
"pos-1-1_a3",
"container-bitdeer-9a",
"site-pintado",
"id-09w3zsh3v7mnic5"
],
"info": {
"site": "Pintado",
"serialNum": "HTM3X09",
"macAddress": "1f:93:60:7b:92:33",
"container": "bitdeer-9a",
"subnet": "127.0.0.0/24",
"pos": "1-1_a3"
},
"rack": "miner-am-s19xp-shelf-0",
"address": "127.0.0.1",
"port": 5020,
"last": {
"ts": 1710133155754,
"err": null,
"snap": {
"success": true,
"raw_errors": [],
"stats": {},
"config": {},
},
"alerts": [
{
"name": "wrong_miner_pool",
"description": "wrong_miner_pool",
"severity": "medium",
"createdAt": 1708504506535,
"uuid": "01b3ad4e-3079-46b8-a98c-dfa75874250d"
},
]
}
```
- `id`: Thing Id.
- `type`: Thing Type.
- `tags`: Array of string thing tags.
- `info`: Thing info
- site : Thing site (Colonia | Pintado)
- serialNum : Thing serial number
- macAddress : Mac Address of the device
- container: Container to which the thing belongs to
- subnet : Thing subnet
- pos : Position of the thing inside a container
- rack: BE RackId to which the thing belongs
- address: BE ip address of the thing
- port: BE port of the thing
- last: Last snap collected of the thing
- ts: Timestamp at which the snap was collected
- err: Error while snap collection
- snap: Thing specific collected data
- success: Snap success status
- raw_errors: Raw Errors in the snap collected
- stats: Thing specific stats
- config: Thing specific config
- alerts: Array of alerts produced for the thing. Alert stucture:
- name: Name of the alerts
- description: Detailed description of alert
- severity: Severity of alert
- Critical
- High
- Medium
- createdAt: Timestamp when alert is triggered
- uuid: UUID of the alert
## Miner Snap
#### Response Object Example
```json
snap: {
"status": "mining",
"power_w": 8000,
"efficiency_w_ths": 30.05,
"pool_status": [
{
"pool": "stratum+tcp://btc.f2pool.com:1314",
"accepted": 2020276,
"rejected": 0
},
],
"uptime_ms": 2017388000,
"hashrate_mhs": {
"avg": 25012960,
"t_5s": 24788648,
"t_1m": 24788648,
"t_5m": 24788648,
"t_15m": 24788648
},
"frequency_mhz": {
"avg": 720,
"target": 720,
"chips": [
{
"index": 0,
"current": 720
},
]
},
"temperature_c": {
"ambient": 33.9,
"max": 85,
"avg": 85,
"chips": [
{
"index": 0,
"max": 85,
"min": 0,
"avg": 85
},
],
"pcb": [
{
"index": 0,
"current": 75.53
},
]
}
}
config: {
"network_config": {
"mode": "dhcp",
"ip_address": "127.0.0.1",
"dns": [
"10.181.0.1"
],
"ip_gw": "10.181.0.1",
"ip_netmask": "255.255.0.0"
},
"pool_config": [
{
"url": "stratum+tcp://btc.f2pool.com:1314",
"username": "haven7346"
},
],
"power_mode": "normal",
"suspended": false,
"led_status": false,
"firmware_ver": "20230714.15.Rel"
}
```
- **stats**
- **status**: Indicates whether the mining operation is active.
- MinerStatuses = ```{
MINING: 'mining',
OFFLINE: 'offline',
SLEEPING: 'sleeping',
ERROR: 'error',
}```
- **power_w**: The total power consumption of the miner in watts. **(Not available for miner-am-s19xp)**
- **efficiency_w_ths**: The energy efficiency of the miner, measured in watts per terahash (W/THs). **(Not available for miner-am-s19xp)**
- **pool_status**
- Details about individual mining pools, including their connection URL, accepted shares, and rejected shares.
- **uptime_ms**: The total duration for which the miner has been operational, measured in milliseconds.
- **hashrate_mhs_avg**: Hashrate stats in Mega Hashes per second MH/s.
- **avg**: The average mining hashrate over a specific period.
- **t_5s**: Hashrate value for the last 5 seconds.
- **t_1m**: Hashrate value for the last 1 minute.
- **t_5m**: Hashrate value for the last 5 minutes.
- **t_15m**: Hashrate value for the last 15 minutes.
- **frequency_mhz**: Frequency stats in megahertz (MHz)
- **avg**: The average frequency of the mining chips, measured in megahertz (MHz).
- **target**: The desired or target frequency for optimal performance.
- **chips**: Individual frequencies of each mining chip.
- **temperature_c**: Temperature stats in Celcius
- **ambient**: The temperature of the mining environment.
- **_max**: The maximum temperature recorded for miner.
- **avg**: The average temperature of the miner.
- **chips**: Detailed temperature information for each mining chip, including maximum, minimum, and average values.
- **pcb**: Temperature information for the Printed Circuit Board (PCB) of the miner.
- config
- **network_config**: Network configuration
- **mode**: The network configuration mode"
- **ip_address**: The assigned IP address for the miner"
- **dns**: The Domain Name System (DNS) server address, specified as a list.
- **ip_gw**: The gateway IP address."
- **ip_netmask**: The subnet mask for the miner's IP address"
## Powermeter Snap
#### Response Object Example
```json
{
"power_w": 12.34,
"powermeter_specific": {
}
}
```
- **power_w**: The total power consumption of the system in watts.
- **powermeter_specific** : Power Meter Specific Configurations
#### ABB-B24 Powermeter specific stats
```json
{
"total_energy_accumulators": {
"active_import_wh": "123450",
"active_export_wh": "123450",
"active_net_wh": "123450",
"reactive_import_varh": "123450",
"reactive_export_varh": "123450",
"reactive_net_varh": "123450",
"apparent_import_vah": "123450",
"apparent_export_vah": "123450",
"apparent_net_vah": "123450"
},
"instantaneous_values": {
"v1_n_v": 123.4,
"v2_n_v": 123.4,
"v3_n_v": 123.4,
"v1_v2_v": 123.4,
"v2_v3_v": 123.4,
"v1_v3_v": 123.4,
"i1_a": 12.34,
"i2_a": 12.34,
"i3_a": 12.34,
"in_a": 12.34,
"active_power_total_w": 12.34,
"active_power_l1_w": 12.34,
"active_power_l2_w": 12.34,
"active_power_l3_w": 12.34,
"reactive_power_total_var": 12.34,
"reactive_power_l1_var": 12.34,
"reactive_power_l2_var": 12.34,
"reactive_power_l3_var": 12.34,
"apparent_power_total_va": 12.34,
"apparent_power_l1_va": 12.34,
"apparent_power_l2_va": 12.34,
"apparent_power_l3_va": 12.34,
"frequency_hz": 1.23,
"phase_angle_power_total_deg": 12.3,
"phase_angle_power_l1_deg": 12.3,
"phase_angle_power_l2_deg": 12.3,
"phase_angle_power_l3_deg": 12.3,
"phase_angle_voltage_l1_deg": 12.3,
"phase_angle_voltage_l2_deg": 12.3,
"phase_angle_voltage_l3_deg": 12.3,
"phase_angle_current_l1_deg": 12.3,
"phase_angle_current_l2_deg": 12.3,
"phase_angle_current_l3_deg": 12.3,
"power_factor_total": 0.123,
"power_factor_l1": 0.123,
"power_factor_l2": 0.123,
"power_factor_l3": 0.123
},
"identification_data": {
"serial_num": 1234,
"firmware_ver": "1.1.1",
"modbus_mapping_ver": "0001"
},
"miscellaneous": {
"error_flags": [
false,
],
"warning_flags": [
true,
],
"alarm_flags": [
false,
]
},
"settings": {
"current_transformer_ratio_numerator": 1234,
"current_transformer_ratio_denominator": 1234,
"currency_conversion_factor": 12.34
},
"dmtme": {
"_3_phase_system_voltage_v": 1234,
"phase_voltage_l1_n_v": 1234,
"phase_voltage_l2_n_v": 1234,
"phase_voltage_l3_n_v": 1234,
"line_voltage_l1_l2_v": 1234,
"line_voltage_l2_l3_v": 1234,
"line_voltage_l1_l3_v": 1234,
"line_current_l1_a": 1.234,
"line_current_l2_a": 1.234,
"line_current_l3_a": 1.234,
"_3_phase_system_power_factor": 1234000,
"power_factor_l1": 1234000,
"power_factor_l2": 1234000,
"power_factor_l3": 1234000,
"_3_phase_system_apparent_power_va": 1234,
"apparent_power_l1_va": 1234,
"apparent_power_l2_va": 1234,
"apparent_power_l3_va": 1234,
"_3_phase_system_active_power_w": 1234,
"active_power_l1_w": 1234,
"active_power_l2_w": 1234,
"active_power_l3_w": 1234,
"_3_phase_system_reactive_power_var": 1234,
"reactive_power_l1_var": 1234,
"reactive_power_l2_var": 1234,
"reactive_power_l3_var": 1234,
"_3_phase_system_active_energy_wh": 12.34,
"_3_phase_system_reactive_energy_varh": 12.34,
"frequency_hz": 1.234,
"current_transformer_ratio": 1234
}
}
```
- **total_energy_accumulators**:
- **active_import_wh**: Accumulated active energy imported in watt-hours.
- **active_export_wh**: Accumulated active energy exported in watt-hours.
- **active_net_wh**: Net active energy accumulated in watt-hours.
- **reactive_import_varh**: Accumulated reactive energy imported in var-hours.
- **reactive_export_varh**: Accumulated reactive energy exported in var-hours.
- **reactive_net_varh**: Net reactive energy accumulated in var-hours.
- **apparent_import_vah**: Accumulated apparent energy imported in volt-ampere-hours.
- **apparent_export_vah**: Accumulated apparent energy exported in volt-ampere-hours.
- **apparent_net_vah**: Net apparent energy accumulated in volt-ampere-hours.
- **instantaneous_values**:
- **v1_n_v**: Voltage phase 1 to neutral in volts.
- **v2_n_v**: Voltage phase 2 to neutral in volts.
- **v3_n_v**: Voltage phase 3 to neutral in volts.
- **v1_v2_v**: Voltage phase 1 to phase 2 in volts.
- **v2_v3_v**: Voltage phase 2 to phase 3 in volts.
- **v1_v3_v**: Voltage phase 1 to phase 3 in volts.
- **i1_a**: Current phase 1 in amperes.
- **i2_a**: Current phase 2 in amperes.
- **i3_a**: Current phase 3 in amperes.
- **in_a**: Neutral current in amperes.
- **active_power_total_w**: Total active power in watts.
- **active_power_l1_w**: Active power in phase 1 in watts.
- **active_power_l2_w**: Active power in phase 2 in watts.
- **active_power_l3_w**: Active power in phase 3 in watts.
- **reactive_power_total_var**: Total reactive power in volt-amperes reactive (VAR).
- **reactive_power_l1_var**: Reactive power in phase 1 in VAR.
- **reactive_power_l2_var**: Reactive power in phase 2 in VAR.
- **reactive_power_l3_var**: Reactive power in phase 3 in VAR.
- **apparent_power_total_va**: Total apparent power in volt-amperes (VA).
- **apparent_power_l1_va**: Apparent power in phase 1 in VA.
- **apparent_power_l2_va**: Apparent power in phase 2 in VA.
- **apparent_power_l3_va**: Apparent power in phase 3 in VA.
- **frequency_hz**: The frequency of the system in hertz.
- **phase_angle_power_total_deg**: Phase angle of total power in degrees.
- **phase_angle_power_l1_deg**: Phase angle of power in phase 1 in degrees.
- **phase_angle_power_l2_deg**: Phase angle of power in phase 2 in degrees.
- **phase_angle_power_l3_deg**: Phase angle of power in phase 3 in degrees.
- **phase_angle_voltage_l1_deg**: Phase angle of voltage in phase 1 in degrees.
- **phase_angle_voltage_l2_deg**: Phase angle of voltage in phase 2 in degrees.
- **phase_angle_voltage_l3_deg**: Phase angle of voltage in phase 3 in degrees.
- **phase_angle_current_l1_deg**: Phase angle of current in phase 1 in degrees.
- **phase_angle_current_l2_deg**: Phase angle of current in phase 2 in degrees.
- **phase_angle_current_l3_deg**: Phase angle of current in phase 3 in degrees.
- **power_factor_total**: Power factor of the total system.
- **power_factor_l1**: Power factor in phase 1.
- **power_factor_l2**: Power factor in phase 2.
- **power_factor_l3**: Power factor in phase 3.
- **identification_data**:
- **serial_num**: Serial number of the power meter.
- **firmware_ver**: Firmware version of the power meter.
- **modbus_mapping_ver**: Modbus mapping version of the power meter.
- **miscellaneous**:
- **error_flags**: Flags indicating various error states.
- **warning_flags**: Flags indicating various warning states.
- **alarm_flags**: Flags indicating various alarm states.
- **settings**:
- **current_transformer_ratio_numerator**: Numerator of the current transformer ratio.
- **current_transformer_ratio_denominator**: Denominator of the current transformer ratio.
- **currency_conversion_factor**: Conversion factor for currency.
- **dmtme**:
- **_3_phase_system_voltage_v**: Voltage of the 3-phase system in volts.
- **phase_voltage_l1_n_v**: Phase voltage in phase 1 to neutral in volts.
- **phase_voltage_l2_n_v**: Phase voltage in phase 2 to neutral in volts.
- **phase_voltage_l3_n_v**: Phase voltage in phase 3 to neutral in volts.
- **line_voltage_l1_l2_v**: Line voltage between phase 1 and phase 2 in volts.
- **line_voltage_l2_l3_v**: Line voltage between phase 2 and phase 3 in volts.
- **line_voltage_l1_l3_v**: Line voltage between phase 1 and phase 3 in volts.
- **line_current_l1_a**: Line current in phase 1 in amperes.
- **line_current_l2_a**: Line current in phase 2 in amperes.
- **line_current_l3_a**: Line current in phase 3 in amperes.
- **_3_phase_system_power_factor**: Power factor of the 3-phase system.
- **power_factor_l1**: Power factor in phase 1.
- **power_factor_l2**: Power factor in phase 2.
- **power_factor_l3**: Power factor in phase 3.
- **_3_phase_system_apparent_power_va**: Apparent power of the 3-phase system in volt-amperes.
- **apparent_power_l1_va**: Apparent power in phase 1 in volt-amperes.
- **apparent_power_l2_va**: Apparent power in phase 2 in volt-amperes.
- **apparent_power_l3_va**: Apparent power in phase 3 in volt-amperes.
- **_3_phase_system_active_power_w**: Active power of the 3-phase system in watts.
- **active_power_l1_w**: Active power in phase 1 in watts.
- **active_power_l2_w**: Active power in phase 2 in watts.
- **active_power_l3_w**: Active power in phase 3 in watts.
- **_3_phase_system_reactive_power_var**: Reactive power of the 3-phase system in VAR.
- **reactive_power_l1_var**: Reactive power in phase 1 in VAR.
- **reactive_power_l2_var**: Reactive power in phase 2 in VAR.
- **reactive_power_l3_var**: Reactive power in phase 3 in VAR.
- **_3_phase_system_active_energy_wh**: Accumulated active energy of the 3-phase system in watt-hours.
- **_3_phase_system_reactive_energy_varh**: Accumulated reactive energy of the 3-phase system in var-hours.
- **frequency_hz**: The frequency of the 3-phase system in hertz.
- **current_transformer_ratio**: Current transformer ratio.
#### ABB-M1-M20 Powermeter specific stats
```json
{
"energy": {
"active_import_energy_wh": "123450",
"active_export_energy_wh": "123450",
"reactive_import_energy_varh": "123450",
"reactive_export_energy_varh": "123450",
"apparent_import_energy_vah": "123450"
},
"realtime": {
"three_phase_system_v": 123.4,
"phase_voltage_l1_v": 123.4,
"phase_voltage_l2_v": 123.4,
"phase_voltage_l3_v": 123.4,
"line_voltage_l1_l2_v": 123.4,
"line_voltage_l2_l3_v": 123.4,
"line_voltage_l3_l1_v": 123.4,
"three_phase_current_a": 12.34,
"current_l1_a": 12.34,
"current_l2_a": 12.34,
"current_l3_a": 12.34,
"current_n_a": 12.34,
"active_power_total_w": 22135231,
"active_power_l1_w": -7337639,
"active_power_l2_w": -7488285,
"active_power_l3_w": -7309305,
"reactive_power_total_var": -2086731,
"reactive_power_l1_var": -627943,
"reactive_power_l2_var": -709440,
"reactive_power_l3_var": -749348,
"apparent_power_total_va": 22247591,
"apparent_power_l1_va": 7363807,
"apparent_power_l2_va": 7528042,
"apparent_power_l3_va": 7355742,
"frequency_hz": 12.34,
"power_factor_total": 0.123,
"power_factor_l1": 0.123,
"power_factor_l2": 0.123,
"power_factor_l3": 0.123
},
"harmonics": {
"voltage": {
"l1_thd_pct": 12.3,
"l2_thd_pct": 12.3,
"l3_thd_pct": 12.3,
"l1_l2_thd_pct": 12.3,
"l3_l2_thd_pct": 12.3,
"l1_l3_thd_pct": 12.3
},
"current": {
"l1_thd_pct": 12.3,
"l2_thd_pct": 12.3,
"l3_thd_pct": 12.3
}
}
}
```
- **energy**
- **active_import_energy_wh**: Accumulated active energy imported in watt-hours.
- **active_export_energy_wh**: Accumulated active energy exported in watt-hours.
- **reactive_import_energy_varh**: Accumulated reactive energy imported in var-hours.
- **reactive_export_energy_varh**: Accumulated reactive energy exported in var-hours.
- **apparent_import_energy_vah**: Accumulated apparent energy imported in volt-ampere-hours.
- **realtime**
- **three_phase_system_v**: Voltage of the three-phase system in volts.
- **phase_voltage_l1_v**: Phase voltage in phase 1 in volts.
- **phase_voltage_l2_v**: Phase voltage in phase 2 in volts.
- **phase_voltage_l3_v**: Phase voltage in phase 3 in volts.
- **line_voltage_l1_l2_v**: Line voltage between phase 1 and phase 2 in volts.
- **line_voltage_l2_l3_v**: Line voltage between phase 2 and phase 3 in volts.
- **line_voltage_l3_l1_v**: Line voltage between phase 3 and phase 1 in volts.
- **three_phase_current_a**: Current of the three-phase system in amperes.
- **current_l1_a**: Current in phase 1 in amperes.
- **current_l2_a**: Current in phase 2 in amperes.
- **current_l3_a**: Current in phase 3 in amperes.
- **current_n_a**: Neutral current in amperes.
- **active_power_total_w**: Total active power in watts.
- **active_power_l1_w**: Active power in phase 1 in watts.
- **active_power_l2_w**: Active power in phase 2 in watts.
- **active_power_l3_w**: Active power in phase 3 in watts.
- **reactive_power_total_var**: Total reactive power in volt-amperes reactive (VAR).
- **reactive_power_l1_var**: Reactive power in phase 1 in VAR.
- **reactive_power_l2_var**: Reactive power in phase 2 in VAR.
- **reactive_power_l3_var**: Reactive power in phase 3 in VAR.
- **apparent_power_total_va**: Total apparent power in volt-amperes (VA).
- **apparent_power_l1_va**: Apparent power in phase 1 in VA.
- **apparent_power_l2_va**: Apparent power in phase 2 in VA.
- **apparent_power_l3_va**: Apparent power in phase 3 in VA.
- **frequency_hz**: The frequency of the system in hertz.
- **power_factor_total**: Power factor of the total system.
- **power_factor_l1**: Power factor in phase 1.
- **power_factor_l2**: Power factor in phase 2.
- **power_factor_l3**: Power factor in phase 3.
- **harmonics**
- **voltage**
- **l1_thd_pct**: Total Harmonic Distortion (THD) percentage in phase 1 voltage.
- **l2_thd_pct**: Total Harmonic Distortion (THD) percentage in phase 2 voltage.
- **l3_thd_pct**: Total Harmonic Distortion (THD) percentage in phase 3 voltage.
- **l1_l2_thd_pct**: THD percentage between phase 1 and phase 2 voltage.
- **l3_l2_thd_pct**: THD percentage between phase 3 and phase 2 voltage.
- **l1_l3_thd_pct**: THD percentage between phase 1 and phase 3 voltage.
- **current**
- **l1_thd_pct**: Total Harmonic Distortion (THD) percentage in phase 1 current.
- **l2_thd_pct**: Total Harmonic Distortion (THD) percentage in phase 2 current.
- **l3_thd_pct**: Total Harmonic Distortion (THD) percentage in phase 3 current.
## Container Snap
#### Response Object Example
```json
stats: {
"status": "error",
"errors": [],
"power_w": 63400,
"alarm_status": false,
"ambient_temp_c": 28.8,
"humidity_percent": 83.4,
"container_specific": [],
},
config: {
}
```
- **stats**
- **status**: The overall status of the container.
- CONTAINER_STATUS = ```{
RUNNING: 'running',
OFFLINE: 'offline',
STOPPED: 'stopped',
}```
- **errors**: A list of error details, including the error name.
- **power_w**: Total power consumption of the container in watts.
- **alarm_status**: Indicates whether there is an alarm.
- **ambient_temp_c**: Ambient temperature in degrees Celsius.
- **humidity_percent**: Humidity level in percentage.
- **container_specific**: Container specific stats.
- **config**
- **container_specific**: Container specific config
#### Bitdeer Container specific snap
- Container specific stats
```json
{
"alarms": [],
"phase_data": {
"a": {
"voltage_v": 236.2,
"current_a": 89.5,
"power_w": 21100
},
"b": {
"voltage_v": 236.7,
"current_a": 88.3,
"power_w": 21000
},
"c": {
"voltage_v": 236,
"current_a": 90.2,
"power_w": 21300
}
},
"pdu_data": [
{
"pdu": "1-1",
"power_w": 0,
"current_a": 0,
"sockets": [
{
"socket": "a1",
"enabled": false,
"power_w": 0,
"current_a": 0
}, ...
]
}, ...
],
"cooling_system": {
"oil_pump": [
{
"index": 0,
"enabled": false,
"hot_temp_c": 0,
"cold_temp_c": 44,
"tank": false
},
{
"index": 1,
"enabled": true,
"hot_temp_c": 27.7,
"cold_temp_c": 44,
"tank": true
}
],
"water_pump": [
{
"index": 0,
"enabled": false,
"hot_temp_c": 0,
"cold_temp_c": 0
},
{
"index": 1,
"enabled": true,
"hot_temp_c": 27.2,
"cold_temp_c": 26.6
}
],
"dry_cooler": [
{
"index": 0,
"enabled": true,
"fans": [
{
"index": 0,
"enabled": false
}
]
}
],
"exhaust_fan_enabled": true
},
"ups": {
"battery_percent": 100,
"temp_c": 38,
"input": {
"voltage_v": 235.5,
"freq_hz": 49.9
},
"output": {
"voltage_v": 219.9,
"freq_hz": 49.9
}
}
}
```
- **Alarms**: List
- **Phase Data**:
- `a`:
- `voltage_v: Voltage in Volts
- `current_a` Current in Amperes
- `power_w` Power in Watts
- `b`:
- `voltage_v`
- `current_a`
- `power_w`
- `c`:
- `voltage_v`
- `current_a`
- `power_w`
- **PDU Data**:
- `pdu`
- `power_w`
- `current_a`
- `sockets`:
- `socket`: `enabled`, `power_w`, `current_a`
- ... (similar structure for other sockets)
- (Similar structure for other PDUs)
- **Cooling System**:
- **Oil Pump**:
- Pump 0:
- `index`, `enabled`, `hot_temp_c`, `cold_temp_c`, `tank`
- Pump 1:
- `index`, `enabled`, `hot_temp_c`, `cold_temp_c`, `tank`
- **Water Pump**:
- Pump 0:
- `index`, `enabled`, `hot_temp_c`, `cold_temp_c`
- Pump 1:
- `index`, `enabled`, `hot_temp_c`, `cold_temp_c`
- **Dry Cooler**:
- Cooler 0:
- `index`, `enabled`
- `fans` [0-7]: Enabled/Disabled
- Cooler 1:
- (Similar structure as Cooler 0)
- `exhaust_fan_enabled`
- **UPS (Uninterruptible Power Supply)**:
- `battery_percent`
- `temp_c`
- **Input**:
- `voltage_v`
- `freq_hz`
- **Output**:
- `voltage_v`
- `freq_hz`
- Container specific config
```json
{
"container_specific": {
"mqtt_url": "mqtt://undefined:undefined",
"tactics": {
"start_policy": {
"type": "disabled",
"coin": {
"start_price": 25000,
"current_price": 26000
},
"electricity": {
"start_price": 0.8,
"current_price": 1.5
}
},
"stop_policy": {
"type": "disabled",
"coin": {
"stop_price": 24000,
"current_price": 26000
},
"electricity": {
"stop_price": 2,
"current_price": 1.5
}
}
},
"alarms": {
"oil_temp": {
"high_c": 60,
"low_c": 50
},
"water_temp": {
"high_c": 50,
"low_c": 45
}
},
"set_temps": {
"cold_oil_temp_c": 45,
"exhaust_fan_temp_c": 30
}
}
}
```
- `mqtt_url`: The MQTT broker URL for communication.
- **tactics**:
- **start_policy**:
- `type`: The type of start policy, whether enabled or disabled.
- `coin`:
- `start_price`: The start price for cryptocurrency.
- `current_price`: The current price of cryptocurrency.
- `electricity`:
- `start_price`: The start price for electricity.
- `current_price`: The current price of electricity.
- **stop_policy**:
- `type`: The type of stop policy, whether enabled or disabled.
- `coin`:
- `stop_price`: The stop price for cryptocurrency.
- `current_price`: The current price of cryptocurrency.
- `electricity`:
- `stop_price`: The stop price for electricity.
- `current_price`: The current price of electricity.
- **alarms**:
- oil_temp
- `high_c`: The high temperature threshold for oil.
- `low_c`: The low temperature threshold for oil.
- water_temp
- `high_c`: The high temperature threshold for water.
- `low_c`: The low temperature threshold for water.
- set_temps: Setting Temperatures
- `cold_oil_temp_c`: The temperature for cold oil.
- `exhaust_fan_temp_c`: The temperature for the exhaust fan.
#### MicroBT container sprecific snap
```json
stats: {
"power_meters": [
{
"index": "01",
"status": 1,
"voltage_ab": 0,
"voltage_bc": 0,
"voltage_ca": 0,
"total_power_factor": 0.91,
"freq": 0.49,
"current_a": 9.14,
"current_b": 9.07,
"current_c": 9.69,
"total_active_power": 311.53,
"total_apparent_power": 311.53,
"total_active_energy": 311.53
}
],
"pdu_data": [
{
"pdu": "1",
"status": 1,
"buzzer": 0,
"sockets": [
{
"socket": "1",
"enabled": true
}
],
"frequency": 0,
"voltage_ab": -258.97,
"voltage_ca": -259.4,
"voltage_bc": -259.92,
"current_a": 0,
"current_b": 0,
"current_c": 0,
"total_power": 103.98,
"access_control_alarm": [
{
"index": "0",
"status": false
}
],
"infrared_alarm": [
{
"index": "0",
"status": false
}
],
"water_ingress_alarm": [
{
"index": "0",
"status": false
}
],
"smoke_detection_alarm": [
{
"index": "0",
"status": false
}
],
"high_wind_speed_alarm": 0,
"low_wind_speed_alarm": 0
}
],
"env": {
"status": 1,
"smoke_detector": 0,
"water_ingress_detector": 0
},
"cdu": {
"protocol_version": 0.4,
"indoor_dew_point_temperature": 0,
"outdoor_ambient_temperature_sensor_fault": false,
"indoor_temperature_humidity_sensor_fault": false,
"makeup_water_pump_fault": false,
"power_supply_fault": false,
"water_immersion_fault": false,
"unit_inlet_temp_t2": 25.3,
"unit_inlet_pressure_p2": 25.3,
"unit_outlet_pressure_p3": 25.3,
"circulation_pump_inlet_pressure_p1": 25.3,
"circulation_pump_outlet_pressure_p5": 25.3,
"circulation_pump_running_status": "stopped",
"circulation_pump_speed": 1,
"filter_pressure_difference": 0,
"cooling_temp_t1": 25.3,
"cooling_system_status": 1.23,
"system_main_control": false,
"circulation_pump_switch": "manual",
"drain_valve_switch": "manual",
"cooling_fan_switch": "auto",
"makeup_water_pump_switch": "manual",
"cycle_pump_control": 1,
"cooling_fan_control": 1,
"makeup_water_pump_control": true,
"buzzer_alarm": false,
"cooling_fan_running_speed_threshold": 6.54,
"cooling_fan_start_temperature_threshold": 3.21,
"cooling_fan_stop_temperature_threshold": 0
}
}
config: {
"diag": {
"communicate_status": 0,
"software_version": 0,
"pcb_version": 0,
"hardware_version": 0,
"year": 0,
"month": 0,
"day": 0,
"cpu_utilization_rate": 0,
"hard_drive_space_usage_rate": 0,
"memory_utilization_rate": 0,
"eth": {
"speed": 0,
"upstream_traffic": 0,
"downstream_traffic": 0
}
}
}
```
- **stats**
- **power_meters**:
- **index**: Identifier for the power meter.
- **status**: Represents the status of the power meter.
- **voltage_ab**: Voltage between phase A and B.
- **voltage_bc**: Voltage between phase B and C.
- **voltage_ca**: Voltage between phase C and A.
- **total_power_factor**: Power factor of the total power.
- **freq**: Frequency of the power.
- **current_a**: Current in phase A.
- **current_b**: Current in phase B.
- **current_c**: Current in phase C.
- **total_active_power**: Total active power.
- **total_apparent_power**: Total apparent power.
- **total_active_energy**: Total active energy.
- **pdu_data**:
- **pdu**: Identifier for the Power Distribution Unit.
- **status**: Represents the status of the Power Distribution Unit.
- **buzzer**: Buzzer status.
- **sockets**:
- **socket**: Identifier for the socket.
- **enabled**: Indicates whether the socket is enabled.
- **frequency**: Frequency of the power.
- **voltage_ab**: Voltage between phase A and B.
- **voltage_ca**: Voltage between phase C and A.
- **voltage_bc**: Voltage between phase B and C.
- **current_a**: Current in phase A.
- **current_b**: Current in phase B.
- **current_c**: Current in phase C.
- **total_power**: Total power.
- **access_control_alarm**: Access control alarm status.
- **infrared_alarm**: Infrared alarm status.
- **water_ingress_alarm**: Water ingress alarm status.
- **smoke_detection_alarm**: Smoke detection alarm status.
- **high_wind_speed_alarm**: High wind speed alarm status.
- **low_wind_speed_alarm**: Low wind speed alarm status.
- **env**:
- **status**: Represents the status of the environment.
- **smoke_detector**: Smoke detector status.
- **water_ingress_detector**: Water ingress detector status.
- **cdu**:
- **protocol_version**: Protocol version.
- **indoor_dew_point_temperature**: Indoor dew point temperature.
- **outdoor_ambient_temperature_sensor_fault**: Outdoor ambient temperature sensor fault status.
- **indoor_temperature_humidity_sensor_fault**: Indoor temperature humidity sensor fault status.
- **makeup_water_pump_fault**: Makeup water pump fault status.
- **power_supply_fault**: Power supply fault status.
- **water_immersion_fault**: Water immersion fault status.
- **unit_inlet_temp_t2**: Unit inlet temperature at point T2.
- **unit_inlet_pressure_p2**: Unit inlet pressure at point P2.
- **unit_outlet_pressure_p3**: Unit outlet pressure at point P3.
- **circulation_pump_inlet_pressure_p1**: Circulation pump inlet pressure at point P1.
- **circulation_pump_outlet_pressure_p5**: Circulation pump outlet pressure at point P5.
- **circulation_pump_running_status**: Circulation pump running status.
- **circulation_pump_speed**: Circulation pump speed.
- **filter_pressure_difference**: Filter pressure difference.
- **cooling_temp_t1**: Cooling temperature at point T1.
- **cooling_system_status**: Cooling system status.
- **system_main_control**: System main control status.
- **circulation_pump_switch**: Circulation pump switch status.
- **drain_valve_switch**: Drain valve switch status.
- **cooling_fan_switch**: Cooling fan switch status.
- **makeup_water_pump_switch**: Makeup water pump switch status.
- **cycle_pump_control**: Cycle pump control status.
- **cooling_fan_control**: Cooling fan control status.
- **makeup_water_pump_control**: Makeup water pump control status.
- **buzzer_alarm**: Buzzer alarm status.
- **cooling_fan_running_speed_threshold**: Cooling fan running speed threshold.
- **cooling_fan_start_temperature_threshold**: Cooling fan start temperature threshold.
- **cooling_fan_stop_temperature_threshold**: Cooling fan stop temperature threshold.
- **config**
- **communicate_status**: Represents the communication status.
- **software_version**: Denotes the version of the software.
- **pcb_version**: Represents the version of the printed circuit board (PCB).
- **hardware_version**: Indicates the version of the hardware.
- **year**: Represents the year.
- **month**: Represents the month.
- **day**: Represents the day.
- **cpu_utilization_rate**: Represents the CPU utilization rate.
- **hard_drive_space_usage_rate**: Represents the rate of hard drive space usage.
- **memory_utilization_rate**: Represents the rate of memory utilization.
- **eth**:
- **speed**: Denotes the speed of the Ethernet connection.
- **upstream_traffic**: Represents the upstream traffic in the Ethernet connection.
- **downstream_traffic**: Represents the downstream traffic in the Ethernet connection.
#### ACME Container specific snap
```json
stats: {
"status": "running",
"ambient_temp_c": 6,
"container_specific": {
"left": {
...container side stats
},
"right": {
... container side stats
},
"container_air_temp": 6,
"cabinet_air_temp": 6
}
}
config:
{
"container_specific": {
"left": {
"admin_main_relay": 1,
"admin_main_km": 1,
"admin_pump_km": 1,
"liquid_step_interval": "5",
"liquid_target_temp": 20,
"liquid_alert_temp": 60,
"pressure_stab_interval": "60",
"pressure_stab_target": 60,
"fan_min_freq": 40
},
"right": {
"admin_main_relay": 1,
"admin_main_km": 1,
"admin_pump_km": 1,
"liquid_step_interval": "5",
"liquid_target_temp": 20,
"liquid_alert_temp": 60,
"pressure_stab_interval": "60",
"pressure_stab_target": 60,
"fan_min_freq": 40
},
"high_air_temp": 80,
"calibration": {
"left": {
"pressure_in_min": 100,
"pressure_in_delta": 1,
"pressure_out_min": 100,
"pressure_out_delta": 1
},
"right": {
"pressure_in_min": 100,
"pressure_in_delta": 1,
"pressure_out_min": 100,
"pressure_out_delta": 1
}
}
}
}
```
##### Container side stats:
```json
{
"front_temp_in": 20,
"rear_temp_in": 20,
"front_temp_out": 30,
"rear_temp_out": 30,
"front_pressure_in": 2,
"front_pressure_out": 2,
"rear_pressure_in": 2,
"rear_pressure_out": 2,
"freq_front": 60,
"freq_rear": 60,
"main_status": "OK",
"temp_status": "OK",
"level_status": "OK",
"acb_feedback_status1": true,
"acb_feedback_status2": true,
"ackm_feedback_status": true,
"front_pump_km_feedback_status": true,
"rear_pump_km_feedback_status": true,
"front_pump_cb_feedback_status": true,
"rear_pump_cb_feedback_status": true,
"accb_feedback_status": true,
"acb_logic_status1": true,
"acb_logic_status2": true,
"ackm_status": true,
"front_pump_km_status": true,
"rear_pump_km_status": true
}
```
- **stats**:
- **left**: Container left side stats
- **right**: Container right side stats
- **container_air_temp**: Container air temperature.
- **cabinet_air_temp**: Cabinet air temperature.
Container side stats:
- **front_temp_in**: Front temperature inside on the side.
- **rear_temp_in**: Rear temperature inside on the side.
- **front_temp_out**: Front temperature outside on the side.
- **rear_temp_out**: Rear temperature outside on the side.
- **front_pressure_in**: Front pressure inside on the side.
- **front_pressure_out**: Front pressure outside on the side.
- **rear_pressure_in**: Rear pressure inside on the side.
- **rear_pressure_out**: Rear pressure outside on the side.
- **freq_front**: Frequency at the front on the side.
- **freq_rear**: Frequency at the rear on the side.
- **main_status**: Main status on the side.
- **temp_status**: Temperature status on the side.
- **level_status**: Level status on the side.
- **acb_feedback_status1**: ACB feedback status 1 on the side.
- **acb_feedback_status2**: ACB feedback status 2 on the side.
- **ackm_feedback_status**: ACKM feedback status on the side.
- **front_pump_km_feedback_status**: Front pump KM feedback status on the side.
- **rear_pump_km_feedback_status**: Rear pump KM feedback status on the side.
- **front_pump_cb_feedback_status**: Front pump CB feedback status on the side.
- **rear_pump_cb_feedback_status**: Rear pump CB feedback status on the side.
- **accb_feedback_status**: ACCB feedback status on the side.
- **acb_logic_status1**: ACB logic status 1 on the side.
- **acb_logic_status2**: ACB logic status 2 on the side.
- **ackm_status**: ACKM status on the side.
- **front_pump_km_status**: Front pump KM status on the side.
- **rear_pump_km_status**: Rear pump KM status on the side.
- **config**
- **left**:
- **admin_main_relay**: Status of the left admin main relay.
- **admin_main_km**: Status of the left admin main KM.
- **admin_pump_km**: Status of the left admin pump KM.
- **liquid_step_interval**: Interval for liquid step on the left side.
- **liquid_target_temp**: Target liquid temperature on the left side.
- **liquid_alert_temp**: Alert temperature for liquid on the left side.
- **pressure_stab_interval**: Interval for pressure stabilization on the left side.
- **pressure_stab_target**: Target pressure for stabilization on the left side.
- **fan_min_freq**: Minimum frequency for the fan on the left side.
- **right**:
- **admin_main_relay**: Status of the right admin main relay.
- **admin_main_km**: Status of the right admin main KM.
- **admin_pump_km**: Status of the right admin pump KM.
- **liquid_step_interval**: Interval for liquid step on the right side.
- **liquid_target_temp**: Target liquid temperature on the right side.
- **liquid_alert_temp**: Alert temperature for liquid on the right side.
- **pressure_stab_interval**: Interval for pressure stabilization on the right side.
- **pressure_stab_target**: Target pressure for stabilization on the right side.
- **fan_min_freq**: Minimum frequency for the fan on the right side.
- **high_air_temp**: High air temperature.
- **calibration**:
- **left**:
- **pressure_in_min**: Minimum pressure in calibration on the left side.
- **pressure_in_delta**: Delta pressure in calibration on the left side.
- **pressure_out_min**: Minimum pressure out calibration on the left side.
- **pressure_out_delta**: Delta pressure out calibration on the left side.
- **right**:
- **pressure_in_min**: Minimum pressure in calibration on the right side.
- **pressure_in_delta**: Delta pressure in calibration on the right side.
- **pressure_out_min**: Minimum pressure out calibration on the right side.
- **pressure_out_delta**: Delta pressure out calibration on the right side.
#### Antspace Immersion Container specific snap
```json
stats: {
"protocol_version": 5,
"disconnect": false,
"pid_mode": false,
"running_mode": false,
"leakage_fault": true,
"supply_liquid_temp_too_high": true,
"supply_liquid_temp_high": true,
"supply_liquid_set_temp": 0,
"longitude_direction": 0,
"longitude": 0,
"latitude_direction": 0,
"latitude": 0,
"pump_ready": false,
"pump_operation": false,
"pump_alarm": true,
"pump_run": false,
"pump_start": false,
"server_on": false,
"one_pump": false,
"second_pump1": false,
"second_pump2": false,
"dry_cooler_freq_run": false,
"dry_cooler_power_freq_run": false,
"container_fan": false,
"valve1_open": false,
"valve1_close": false,
"valve2_open": false,
"valve2_close": false,
"primary_circulating_pump": false,
"dry_cooler_power_fre_fault": true,
"dry_cooler_fre_conv": true,
"second_pump1_fault": true,
"second_pump2_fault": true,
"fan_fault": true,
"phasefailure": true,
"supply_liquid_temp_fault": true,
"return_liquid_temp_fault": true,
"power_distribution_Fault": true,
"lever_sensor_fault": true,
"smoke_sensor_fault": true,
"return_liquid_temp_high": true,
"return_liquid_temp_too_high": true,
"power_distribution_temp_high": true,
"lever_high": true,
"lever_low": true,
"second_return_temp1": 0,
"second_supply_temp1": 0,
"second_return_temp2": 0,
"second_supply_temp2": 0,
"primary_supply_temp": 0,
"primary_return_temp": 0,
"out_temp": 0,
"container_temp": 0,
"container_humidity": 0,
"power_distribution_temp": 0,
"power_distribution_humidity": 0,
"tank_a_level": 0,
"tank_b_level": 0,
"tank_c_level": 0,
"tank_d_level": 0,
"drycooler_freq": 0,
"feedback_fre": 0,
"vol_a_distribution": 223,
"vol_b_distribution": 226,
"vol_c_distribution": 226,
"cur_a_distribution": 0,
"cur_b_distribution": 0,
"cur_c_distribution": 0,
"distribution_box_power": 7.1274,
"open1": 0,
"open2": 0,
"power_distribution": 7.6733,
"miner_info": {
"miner_num": 120,
"total_hashrate": 12665.544871159516,
"pcb_max_temp": 98,
"chip_max_temp": 98,
"chip_temp_mean": 0,
"miner_info": {
"192.168.1.1": {
"miner_type": "S17 Hydro",
"miner_version": "2021-08-10 16:54:03",
"elapsed": 2565,
"GHS_5s": 87.83214750771423,
"GHS_avg": 124.3864406464078,
"pcb_max_temp": 19,
"chip_max_temp": 46
},
"192.168.1.10": {
"miner_type": "S19 Hydro",
"miner_version": "2021-08-10 16:54:03",
"elapsed": 3986,
"GHS_5s": 141.96580437744242,
"GHS_avg": 128.08028841162994,
"pcb_max_temp": 32,
"chip_max_temp": 62
},
"192.168.1.100": {
"miner_type": "S19 Hydro",
"miner_version": "2021-08-10 16:54:03",
"elapsed": 686,
"GHS_5s": 74.66696038808021,
"GHS_avg": 9.137263799960047,
"pcb_max_temp": 39,
"chip_max_temp": 10
},
"192.168.1.101": {
"miner_type": "S19 Hydro",
"miner_version": "2021-08-10 16:54:03",
"elapsed": 7576,
"GHS_5s": 154.767296148344,
"GHS_avg": 165.14126176502378,
"pcb_max_temp": 32,
"chip_max_temp": 81
},
"192.168.1.102": {
"miner_type": "S20 Hydro",
"miner_version": "2021-08-10 16:54:03",
"elapsed": 1539,
"GHS_5s": 107.96540202661427,
"GHS_avg": 98.47839348764413,
"pcb_max_temp": 48,
"chip_max_temp": 33
}
}
}
}
config: {
"running_mode": false,
"pid_mode": false,
"supply_liquid_set_temp": 0
}
```
- **stats**
- **protocol_version**: Version of the protocol.
- **disconnect**: Status of the disconnect.
- **pid_mode**: Status of the PID mode.
- **running_mode**: Status of the running mode.
- **leakage_fault**: Fault status for leakage.
- **supply_liquid_temp_too_high**: Indicates if the supply liquid temperature is too high.
- **supply_liquid_temp_high**: Indicates if the supply liquid temperature is high.
- **supply_liquid_set_temp**: Set temperature for the supply liquid.
- **longitude_direction**: Direction of longitude.
- **longitude**: Longitude value.
- **latitude_direction**: Direction of latitude.
- **latitude**: Latitude value.
- **pump_ready**: Status of pump readiness.
- **pump_operation**: Status of pump operation.
- **pump_alarm**: Alarm status for pumps.
- **pump_run**: Status of pump running.
- **pump_start**: Status of pump start.
- **server_on**: Status of the server.
- **one_pump**: Status of a single pump.
- **second_pump1**: Status of the second pump 1.
- **second_pump2**: Status of the second pump 2.
- **dry_cooler_freq_run**: Status of the dry cooler frequency running.
- **dry_cooler_power_freq_run**: Status of the dry cooler power frequency running.
- **container_fan**: Status of the container fan.
- **valve1_open**: Status of valve 1 (open).
- **valve1_close**: Status of valve 1 (close).
- **valve2_open**: Status of valve 2 (open).
- **valve2_close**: Status of valve 2 (close).
- **primary_circulating_pump**: Status of the primary circulating pump.
- **dry_cooler_power_fre_fault**: Fault status for dry cooler power frequency.
- **dry_cooler_fre_conv**: Fault status for dry cooler frequency conversion.
- **second_pump1_fault**: Fault status for the second pump 1.
- **second_pump2_fault**: Fault status for the second pump 2.
- **fan_fault**: Fault status for the fan.
- **phasefailure**: Fault status for phase failure.
- **supply_liquid_temp_fault**: Fault status for supply liquid temperature.
- **return_liquid_temp_fault**: Fault status for return liquid temperature.
- **power_distribution_Fault**: Fault status for power distribution.
- **lever_sensor_fault**: Fault status for lever sensor.
- **smoke_sensor_fault**: Fault status for smoke sensor.
- **return_liquid_temp_high**: Indicates if the return liquid temperature is high.
- **return_liquid_temp_too_high**: Indicates if the return liquid temperature is too high.
- **power_distribution_temp_high**: Indicates if power distribution temperature is high.
- **lever_high**: Indicates if the lever is high.
- **lever_low**: Indicates if the lever is low.
- **second_return_temp1**: Temperature of the second return 1.
- **second_supply_temp1**: Temperature of the second supply 1.
- **second_return_temp2**: Temperature of the second return 2.
- **second_supply_temp2**: Temperature of the second supply 2.
- **primary_supply_temp**: Temperature of the primary supply.
- **primary_return_temp**: Temperature of the primary return.
- **out_temp**: Outside temperature.
- **container_temp**: Container temperature.
- **container_humidity**: Container humidity.
- **power_distribution_temp**: Power distribution temperature.
- **power_distribution_humidity**: Power distribution humidity.
- **tank_a_level**: Level of tank A.
- **tank_b_level**: Level of tank B.
- **tank_c_level**: Level of tank C.
- **tank_d_level**: Level of tank D.
- **drycooler_freq**: Frequency of the dry cooler.
- **feedback_fre**: Feedback frequency.
- **vol_a_distribution**: Voltage of distribution A.
- **vol_b_distribution**: Voltage of distribution B.
- **vol_c_distribution**: Voltage of distribution C.
- **cur_a_distribution**: Current of distribution A.
- **cur_b_distribution**: Current of distribution B.
- **cur_c_distribution**: Current of distribution C.
- **distribution_box_power**: Power of the distribution box.
- **open1**: Status of open 1.
- **open2**: Status of open 2.
- **power_distribution**: Power distribution.
- **miner_info**:
- Detailed information about miners, including their IP addresses, types, versions, elapsed time, GHS values, PCB max temperatures, and chip max temperatures.
- **config**
- **running_mode**: Running mode status.
- **pid_mode**: PID mode status.
- **supply_liquid_set_temp**: Set temperature for the supply liquid.
#### Antspace Hydro Container specific snap
```json
stats:{
"disconnect": false,
"circulating_pump": false,
"fan1": false,
"fan2": true,
"spray_pump": true,
"fluid_infusion_pump": false,
"cooling_tower_fan1": true,
"cooling_tower_fan2": true,
"cooling_tower_fan3": true,
"power_fault": true,
"liquid_level_low": true,
"circulating_pump_fault": true,
"fan1_fault": true,
"fan2_fault": true,
"fluid_infusion_pump_fault": true,
"spray_pump_fault": true,
"cooling_tower_fan1_fault": true,
"cooling_tower_fan2_fault": true,
"cooling_tower_fan3_fault": true,
"leakage_fault": true,
"supply_liquid_temp_high": true,
"supply_liquid_temp_too_high": true,
"supply_liquid_pressure_high": true,
"return_liquid_pressure_low": true,
"supply_liquid_flow_low": true,
"freezing_alarm": true,
"cooling_tower_liquid_level_low": true,
"running_mode": false,
"supply_liquid_temp": 43,
"return_liquid_temp": 49,
"supply_liquid_pressure": 35,
"return_liquid_pressure": 28,
"colding_tower_inlet_temp": 26,
"antbox_internal_temp": 39,
"supply_liquid_flow": 29,
"antbox_internal_humidity": 54,
"distribution_box1_power": 520811,
"distribution_box2_power": 477322,
"longitude_direction": 0,
"longitude": 0,
"latitude_direction": 0,
"latitude": 0,
"supply_liquid_set_temp": 35,
"pid_mode": false,
"miner_info": {
"miner_num": 120,
"total_hashrate": 12665.544871159516,
"pcb_max_temp": 98,
"chip_max_temp": 98,
"chip_temp_mean": 0,
"miner_info": {
"192.168.1.1": {
"miner_type": "S17 Hydro",
"miner_version": "2021-08-10 16:54:03",
"elapsed": 2565,
"GHS_5s": 87.83214750771423,
"GHS_avg": 124.3864406464078,
"pcb_max_temp": 19,
"chip_max_temp": 46
}
}
}
}
```
- **stats**
- `disconnect`: Indicates whether there is a disconnection (true/false).
- `circulating_pump`: Status of the circulating pump (true/false).
- `fan1`: Status of fan 1 (true/false).
- `fan2`: Status of fan 2 (true/false).
- `spray_pump`: Status of the spray pump (true/false).
- `fluid_infusion_pump`: Status of the fluid infusion pump (true/false).
- `cooling_tower_fan1`: Status of cooling tower fan 1 (true/false).
- `cooling_tower_fan2`: Status of cooling tower fan 2 (true/false).
- `cooling_tower_fan3`: Status of cooling tower fan 3 (true/false).
- `power_fault`: Indicates a power fault (true/false).
- `liquid_level_low`: Indicates low liquid level (true/false).
- `circulating_pump_fault`: Indicates a fault in the circulating pump (true/false).
- `fan1_fault`: Indicates a fault in fan 1 (true/false).
- `fan2_fault`: Indicates a fault in fan 2 (true/false).
- `fluid_infusion_pump_fault`: Indicates a fault in the fluid infusion pump (true/false).
- `spray_pump_fault`: Indicates a fault in the spray pump (true/false).
- `cooling_tower_fan1_fault`: Indicates a fault in cooling tower fan 1 (true/false).
- `cooling_tower_fan2_fault`: Indicates a fault in cooling tower fan 2 (true/false).
- `cooling_tower_fan3_fault`: Indicates a fault in cooling tower fan 3 (true/false).
- `leakage_fault`: Indicates a leakage fault (true/false).
- `supply_liquid_temp_high`: Indicates high supply liquid temperature (true/false).
- `supply_liquid_temp_too_high`: Indicates too high supply liquid temperature (true/false).
- `supply_liquid_pressure_high`: Indicates high supply liquid pressure (true/false).
- `return_liquid_pressure_low`: Indicates low return liquid pressure (true/false).
- `supply_liquid_flow_low`: Indicates low supply liquid flow (true/false).
- `freezing_alarm`: Indicates a freezing alarm (true/false).
- `cooling_tower_liquid_level_low`: Indicates low cooling tower liquid level (true/false).
- `running_mode`: Indicates the running mode (true/false).
- `supply_liquid_temp`: Actual supply liquid temperature.
- `return_liquid_temp`: Actual return liquid temperature.
- `supply_liquid_pressure`: Actual supply liquid pressure.
- `return_liquid_pressure`: Actual return liquid pressure.
- `colding_tower_inlet_temp`: Inlet temperature of the cooling tower.
- `antbox_internal_temp`: Internal temperature of the antbox.
- `supply_liquid_flow`: Actual supply liquid flow.
- `antbox_internal_humidity`: Internal humidity of the antbox.
- `distribution_box1_power`: Power consumption of distribution box 1.
- `distribution_box2_power`: Power consumption of distribution box 2.
- `longitude_direction`: Direction of longitude.
- `longitude`: Actual longitude value.
- `latitude_direction`: Direction of latitude.
- `latitude`: Actual latitude value.
- `supply_liquid_set_temp`: Set temperature for supply liquid.
- `pid_mode`: Indicates whether PID mode is active (true/false).
- `miner_info`: Information about connected miners.
- `miner_num`: Total number of connected miners.
- `total_hashrate`: Total hashrate of all miners.
- `pcb_max_temp`: Maximum PCB temperature among miners.
- `chip_max_temp`: Maximum chip temperature among miners.
- `chip_temp_mean`: Mean chip temperature among miners.
- `miner_info`: Details of individual miners.
- Miner details for each IP address.
- `miner_type`: Type of miner.
- `miner_version`: Miner version.
- `elapsed`: Elapsed time since mining started.
- `GHS_5s`: 5-second average hashrate.
- `GHS_avg`: Average hashrate.
- `pcb_max_temp`: Maximum PCB temperature.
- `chip_max_temp`: Maximum chip temperature.
### Minerpool Snap
```json
{
"timestamp": 1710153153257,
"balance": 0.0003474447999510195,
"unsettled": 0.0003474447999510195,
"revenue_24h": 0,
"hashrate": 648044583053864,
"hashrate_1h": 506599218787222,
"hashrate_24h": 892366174718738,
"hashrate_stale_1h": 477110323569097,
"hashrate_stale_24h": 332363605974085,
"worker_count": 11,
"workers": [
{
"id": "248.181.196.40",
"name": "worker2675",
"online": true,
"last_updated": 39,
"hashrate": 469195518310411,
"hashrate_1h": 615305011998130,
"hashrate_24h": 263269263733307,
"hashrate_stale_1h": 113364669338104,
"hashrate_stale_24h": 547744940691104
},
]
}
```
- **stats:** Statistics of the pool account.
- **timestamp:** Timestamp of the statistics.
- **balance:** Account balance.
- **unsettled:** Unsettled balance.
- **revenue_24h:** Revenue in the last 24 hours.
- **hashrate:** Total hashrate.
- **hashrate_1h:** Hashrate in the last hour.
- **hashrate_24h:** Hashrate in the last 24 hours.
- **hashrate_stale_1h:** Stale hashrate in the last hour.
- **hashrate_stale_24h:** Stale hashrate in the last 24 hours.
- **worker_count:** Total number of workers.
- **workers:** List of worker details.
- **containers:** Mining containers and their statistics.
## Temp Sensor Snap
```json
stats: {
"status": "ok",
"temp_c": 33.1
}
```
- **status:** Status of the sensor.
- **temp_c:** Temperature in Celcius.
# Actions
```json
{
//Container actions
SWITCH_CONTAINER: 'switchContainer',
SWITCH_COOLING_SYSTEM: 'switchCoolingSystem',
SET_TANK_ENABLED: 'setTankEnabled',
SET_AIR_EXHAUST_ENABLED: 'setAirExhaustEnabled',
SWITCH_SOCKET: 'switchSocket',
RESET_ALARM: 'resetAlarm',
RESET_CONTAINER: 'resetContainer',
EMERGENCY_STOP: 'emergencyStop',
//Miner actions
REBOOT: 'reboot',
SET_POWER_MODE: 'setPowerMode',
SET_LED: 'setLED',
SETUP_POOLS: 'setupPools',
//Thing actions
REGISTER_THING: 'registerThing',
UPDATE_THING: 'updateThing',
FORGET_THINGS: 'forgetThings',
}
```
## Action Payloads
### Switch Container
```json
{
"action": "switchContainer",
"params": [
true
],
"id": 1,
"query": {
"tags": {
"$in": [
"id-87c699bc-b0a3-475c-bac0-3f9c8bc74f60"
]
}
}
}
```
### Switch Cooling System
```json
{
"action": "switchCoolingSystem",
"params": [
true
],
"crossThing": {
"type": "miner",
"params": {
"containers": [
"bitmain-hydro-1"
]
}
},
"id": 1,
"query": {
"tags": {
"$in": [
"id-7fdd4735-be0c-4735-b89c-a368cd605f16"
]
}
}
}
```
### Set Tank Enabled
```json
{
"action": "setTankEnabled",
"params": [
1,
true
],
"id": 3,
"query": {
"tags": {
"$in": [
"id-4fc33487-6205-4dfe-9ae2-9ec3c975eed9"
]
}
}
}
```
### Set Air Exhaust Enabled
```json
{
"action": "setAirExhaustEnabled",
"params": [
false
],
"id": 5,
"query": {
"tags": {
"$in": [
"id-4fc33487-6205-4dfe-9ae2-9ec3c975eed9"
]
}
}
}
```
### Switch Socket
```json
{
"action": "switchSocket",
"params": [
[
[
"-1",
"-1",
true
]
]
],
"id": 1,
"query": {
"tags": {
"$in": [
"id-68de0206-32cf-4485-ac9a-80e8eca02659"
]
}
}
}
```
### Reset Alarm
```json
{
"action": "resetAlarm",
"params": [],
"id": 2,
"query": {
"tags": {
"$in": [
"id-4fc33487-6205-4dfe-9ae2-9ec3c975eed9"
]
}
}
}
```
### Emergency Stop
```json
{
"action": "emergencyStop",
"params": [],
"id": 2,
"query": {
"tags": {
"$in": [
"id-87c699bc-b0a3-475c-bac0-3f9c8bc74f60"
]
}
}
}
```
### Reboot
```json
{
"action": "reboot",
"params": [],
"id": 1,
"query": {
"tags": {
"$in": [
"id-tday62rajdg8a45"
]
}
}
}
```
### Set Power Mode
```json
{
"action": "setPowerMode",
"params": [
"high"
],
"isBulkContainerAction": true,
"crossThing": {
"type": "container",
"params": {
"containers": [
"bitdeer-4a"
]
}
},
"id": 1,
"query": {
"tags": {
"$in": [
"container-bitdeer-4a"
]
}
}
}
```
### Set LED
```json
{
"action": "setLED",
"params": [
true
],
"id": 3,
"query": {
"tags": {
"$in": [
"id-tday62rajdg8a45"
]
}
}
}
```
### Setup Pools
```json
{
"action": "setupPools",
"params": [],
"id": 2,
"query": {
"tags": {
"$in": [
"id-tday62rajdg8a45"
]
}
}
}
```
### Register Thing
```json
{
"action": "registerThing",
"params": [
{
"rackId": "miner-wm-m56s-shelf-0",
"info": {
"serialNum": "asdbasdb",
"macAddress": "askdnaksjd",
"container": "bitdeer-5a",
"pos": "1-1_7",
"subnet": "127.0.0.0/24",
"site": "Pintado"
},
"opts": {
"username": "jasdkbasdk",
"password": "asldnjasdjkn",
"port": 4028
},
"tags": [
"asdasd",
"sdfsa",
"pos-1-1_7",
"container-bitdeer-5a",
"site-Pintado"
]
}
],
}
```
### Update Thing
```json
{
"action": "updateThing",
"params": [
{
"rackId": "miner-wm-m56s-shelf-0",
"id": "1gkmg1y55uefl2i",
"info": {
"container": "bitdeer-5a",
"pos": "1-2_3",
"subnet": "127.0.0.0/24",
"posHistory": [
{
"container": "bitdeer-5a",
"pos": "2-1_1",
"removedAt": 1710152775592
}
]
}
}
],
"minerId": "1gkmg1y55uefl2i",
}
```
### Forget Thing
```json
{
"action": "forgetThings",
"params": [
{
"rackId": "miner-wm-m30sp-shelf-1",
"query": {
"id": "tnatvcy0qdtn2ak"
}
}
],
"container": "maintenance",
"minerId": "tnatvcy0qdtn2ak",
}
```