Heat management: drive mining toward a target room temperature (climate domain)#45
Open
markoceri wants to merge 71 commits into
Open
Heat management: drive mining toward a target room temperature (climate domain)#45markoceri wants to merge 71 commits into
markoceri wants to merge 71 commits into
Conversation
…ast provider handling
… virtual environment setup
…s in AdapterService
…for climate zone reference
…sitory update method
…get temperature resolution
…c value references
…edule into climate readings
…ling and hysteresis parameters
…ing in ClimateZone
…ptimization tasks
…iners sequentially
… miner waste heat
…clude climate zone fields
…escriptions are safely accessed
…monitoring climate zones and readings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduction
This work stems from a talk given at the Bitcare Forum 2026, where we explored at length how the heat produced by Bitcoin mining can be put to good use. The idea: treat heat not as a by-product of mining but as the primary asset, with the explicit goal of heating a room.
Edge Mining already decides when to mine based on energy availability, forecasts and user policies. This PR makes the system aware of the thermal state of the environment, so it can deliberately run miners to keep a space at a desired temperature, using the waste heat of the ASICs.
Closes #44.
How it was implemented
A new Climate domain modelling heat management around three concepts:
OptimizationServicebuilds aClimateStateSnapshotfor the unit's zones, injecting the resolved target temperature/hysteresis into each reading, and exposes it to the rule engine viaDecisionalContext.climate(graceful degradation if a monitor is unavailable).Supporting changes:
core/edge_mining/domain/climate/):ClimateZone/ClimateMonitorentities,TemperatureSlot/ClimateZoneReading/ClimateStateSnapshotvalue objects (cross-midnight aware schedule, min/max/avg aggregates, name-indexedzonesmap), ports, events and exceptions.add_climate_tables,add_temperature_schedule).value_ref: conditions can compare a field against another field (e.g.temperature_celsiusvs.target_temperature), enabling target-driven heating rules.Test plan
value_refresolution.