* feature: handle all hashrate algorithm conversions for antminers
* feature: handle all hashrate algorithm conversions for auradine
* feature: handle all hashrate algorithm conversions for avalonminers
* feature: handle all hashrate algorithm conversions for bitaxe
* feature: handle all hashrate algorithm conversions for epic
* feature: handle all hashrate algorithm conversions for goldshell
* refactor: clean up imports
* feature: handle all hashrate algorithm conversions for hammer
* feature: handle all hashrate algorithm conversions for iceriver
* feature: handle all hashrate algorithm conversions for innosilicon
* feature: handle all hashrate algorithm conversions for whatsminer
* tests: update tests to check if miners have board, fan, and algo values
* feature: finish updating all miners with boards, fans, and algos
* feature: update algorithm default values
* feature: add algorithm hashrate values
* feature: improve hashrate types, and use `self.algo` inside miners
---------
Co-authored-by: Upstream Data <brett@upstreamdata.ca>
* feature: switch almost everything to pydantic BaseModel
* feature: swap more dataclasses over to pydantic models
* feature: use more model serializers to make data handle better
* bug: fix some serialization issues with `None` values
* bug: fix some initialization problems with miner mode config
* bug: fix new BOS+ pool parsing
* bug: fix new BOS+ board temperature parsing serialization error
* bug: more misc fixes with serialization, extra methods, and hashrate types
* bug: add explicit type conversions to hashrate types
* bug: fix epic pool URL parsing
* bug: fix positional args in hashboards
* bug: fix epic missing url scheme
* convert board temp to int
---------
Co-authored-by: Upstream Data <brett@upstreamdata.ca>
Co-authored-by: John-Paul Compagnone <jpcompagnone@epicblockchain.io>
* backends: Add _get_pools for Bmminer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feature: add luxos tuner support to config.
* feature: add luxos temp control support to config.
* bug: fix failure to identify luxOS miners sometimes.
* feature: add get_config with temperature parsing.
* bug: fix some handling in hashboards.
* feature: add API version and fw version.
* refactor: improve RPC api handling.
* refactor: remove useless code, and tag bug.
* feature: add fault light check support.
* refactor: improve fanset compatibility.
* feature: add fan config parsing.
* feature: add pools parsing from luxos.
---------
Co-authored-by: Upstream Data <brett@upstreamdata.ca>