Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable Boards #327

Open
soki2001 opened this issue Feb 26, 2024 · 12 comments
Open

Disable Boards #327

soki2001 opened this issue Feb 26, 2024 · 12 comments

Comments

@soki2001
Copy link

Have you think on include an option to disable boards.

In order to reduce more the power used should be a great feature disable boards.

@b-rowan
Copy link
Collaborator

b-rowan commented Feb 26, 2024

Interesting idea. I would like to have it in pyasic, but I actually don't think this is a good idea for this specific project. My reasoning is that people are using this generally to automate their machines, and you essentially have 3 states. Those states are:

  1. High power, where the machine is set to a high setpoint, usually at times of low power cost,
  2. Low power, where the machine is set to a low power mode to target high efficiency, usually in times of medium or high power cost,
  3. Sleep, where the miner is shut down, either with a smart plug or via the integration, usually in times of high power cost.

In essence, what you are asking for is a subset of 2. However, there are no efficiency gains to be had from shutting down boards, only power reduction. Therefore, you should either:

  1. Use all 3 boards at the same efficiency, as you will get the same power usage to hashrate ratio,
  2. Shut the miner off altogether if your power cost is too high,
  3. Physically remove boards from the machine if you want a generally lower power usage.

This is why I generally think that there is no reason for this in hass-miner, as it seems to me to be unneeded complexity. It may be added far into the future, but the biggest issue with adding this other than opinion is that the core feature is missing from pyasic, which is used to do all the miner handling, and this is a quite large feature to implement.

@Schnitzel would love to hear your opinion on this, my personal opinion is NACK for the reasons above.

@Chris-S44
Copy link

I was just about to ask for this feature and I see it's been requested already.
Reason I would like it is the lowest I can set my miner is 1677W. I run only from solar and batteries. On a cloudy day I need to run at around 1000W. Being able to disable 1 hash board remotely or with an automation would be a great addition.

@b-rowan
Copy link
Collaborator

b-rowan commented Feb 29, 2024

I was just about to ask for this feature and I see it's been requested already.

Reason I would like it is the lowest I can set my miner is 1677W. I run only from solar and batteries. On a cloudy day I need to run at around 1000W. Being able to disable 1 hash board remotely or with an automation would be a great addition.

Good point. That's a case I missed.

I can give this a shot, but again, it has to be implemented in pyasic first, and I'm not sure what level of complexity this will entail, but I think doing it for braiins OS devices should be a start.

@Schnitzel
Copy link
Owner

yea from my side I feel the same: While it seems to be an edge case, specifically for cases were a miner wants to use a specific Wattage amount (like the example of 1000W) unfortunately its only possible to do this with disabling some hashboards. I myself use an S19J to heat my garage and during the day I run it with only one hashboard which reduces also the noise output.

I would suggest thought that pyasic just focuses on the enable/disable of the hashboards, I do NOT think there is any need for pyasic to automatically do the Watt to Hashboard calculation (like if you tell pyasic to run at 1000W it automatically turns of 1 hashboard and lets the remaining 2 running at 500W).

@soki2001
Copy link
Author

soki2001 commented Feb 29, 2024 via email

@b-rowan
Copy link
Collaborator

b-rowan commented Feb 29, 2024

I would suggest thought that pyasic just focuses on the enable/disable of the hashboards, I do NOT think there is any need for pyasic to automatically do the Watt to Hashboard calculation (like if you tell pyasic to run at 1000W it automatically turns of 1 hashboard and lets the remaining 2 running at 500W).

Technically this is actually a point I would like to get to in the future, as it is useful on my side of things to be able to do this for phase balancing purposes. I will play around with it and see what I can figure out.

@928driver
Copy link

Hello,

First of all, I want to thank you for developing this mining integration in HA. I have now monitored and controlled my S19 for quite many months and it is working great!

I am adapting the speed on my miner, depending on electricity price and solar panel production. When I need the heat for heating my house in the fall and winter, that will also impact when the miner will be running. Therefore I would also be very much interested in to be able to switch individual hash boards on and off. @b-rowan , did you find out if this is possible?

@b-rowan
Copy link
Collaborator

b-rowan commented Jul 26, 2024

Hello,

First of all, I want to thank you for developing this mining integration in HA. I have now monitored and controlled my S19 for quite many months and it is working great!

I am adapting the speed on my miner, depending on electricity price and solar panel production. When I need the heat for heating my house in the fall and winter, that will also impact when the miner will be running. Therefore I would also be very much interested in to be able to switch individual hash boards on and off. @b-rowan , did you find out if this is possible?

I haven't really been able to look into this, I've been super busy recently, so haven't had a ton of time to maintain this project in general, and this feature specifically is the hardest of all of them. It's on my list, but it could be a while yet.

@928driver
Copy link

@b-rowan , I sent a request to Braiins for them to adapt BOS to more easy to be able to disable/enable hash boards through an API, but I have not receive any feedback yet. Did you find out any more about possibilities to enable/disable hash boards through Hass-Miner?

@b-rowan
Copy link
Collaborator

b-rowan commented Oct 9, 2024

@b-rowan , I sent a request to Braiins for them to adapt BOS to more easy to be able to disable/enable hash boards through an API, but I have not receive any feedback yet. Did you find out any more about possibilities to enable/disable hash boards through Hass-Miner?

This is already technically possible, the problem isn't with braiinsOS. I have 2 main issues -

  1. How do I standardize this is pyasic? This needs to have a consistent way to call it across all miner types, and it should work consistently with the other features of that miner (such as config etc). This is a tough one, because a lot of miners may or may not support this functionality, and they will almost never act consistently, so there will have to be workarounds written for a lot of miners.

  2. How should I implement this in the UI of home assistant? Three separate toggles? Have it be dependent on the power limit? If so, how should I calculate that? If a user wants a power limit of 2200, should I use 3300 and disable a board, or 2200 with all three? If doing toggles, how should the power limit slider perform? Should it take into account the offline board (3300W user set = 2200W on miner) like most firmwares do? Or should it try to match the power limit for the device to what the user wants (2200W user set = 3300W config on miner = 2200W draw on miner)?

This is why I haven't implemented this yet, its a lot of complexity for something that most people aren't going to use, and it really should just be implemented on the firmware anyway.

@928driver
Copy link

I see the issues with variations how miners are setup between different types. Might be that Braiins would have some inputs about that as they have made the enable/disable possible in BOS.

Speaking for myself regarding your comments in point 2, keep it simple is better. A toggle for each card is more than sufficient and power limiter can be kept how it is now working in BOS. This meaning, if a card is disabled, the power limiter should just be set like all cards are running. As an example: 4x1000W cards, disable two to only have 2000W, then the power limiter should still go up to 4000W, it would just operate at 50% power consumption. All adaptations to toggle, convert power limiter etc we can do in HA for those who want to do that.

But I agree, if only a few ones need this, then not worth the effort implementing. For me, I would be able to use the miner more to cover better my solar power production to keep it profitable, now not so much unless I manually disable boards which cannot keep doing all the time.

@person65278
Copy link

I use an s19 to heat my house and dry my laundry. but i would love a way to disable a hashboard or 2 when i dont need the heat and or solar is low.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants