jbruce12000/kiln-controller

Question (not issue): API function to put current profile on "hold"

Closed this issue · 9 comments

We live in South Africa where we have load shedding (i.e. mains power gets turned off during certain scheduled hours of each day, different each day and week). My wife is a potter and has a 10KW single phase kiln with a digital controller (but without any input to control apart from buttons on the housing).

I have split the 10KW element into two 5KW elements that can be independently controlled. In order to be able to fire during load shedding, we start the firing a few hours before load shedding so that the kiln is at ±400C when load shedding starts. When the load shedding starts, I turn one of the 5KW elements off and manually put the kiln controller into a mode where it simply holds its current temperature. We then use our solar + inverter to power the 5KW element. In this way the kiln is able to hold the temperature for the 2 hours during which mains power is out.

When mains power returns, I switch the second 5KW element back on and manually advance the kiln controller to resume its ramp up and complete the firing with mains power.

I am already able to remotely switch the 5KW elements, but am looking for an automated way to put the kiln controller into "hold" mode when mains goes off, and then automatically resume the firing once mains returns. I'm looking to do this by using a Raspberry Pi controller instead of the current controller. I'll be able to send commands via the API from my inverter using Node-RED.

Is there any way to easily add an API function to the raspberry pi kiln controller to put it into "hold" mode? I know I could use the "startat" command via API to move it to a specific time in in a firing profile, but the problem is that I don't know exactly what temperature the kiln will be when the mains goes.. Hence I really need to be able to just make it "hold" whenever this happens.

Many thanks
Sam

I want to make sure I understand the feature request.

  1. power goes out
  2. you detect that somehow or schedule it somehow
  3. you call api to put kiln on hold... which means save state, do not advance time, hold the current temperature using some back-up power solution
  4. you detect when power returns or schedule it somehow
  5. you call the api to take the kiln off hold... load state, resume.

What if the outage occurs at a high temperature... would you still want to hold?
What about really low temps...would you still want to hold?
Are there limits to the hold time (how long is too long)?

I feel like this has the potential to get complex.

api pause and resume added to the api on the blinka branch (which is the only branch with active development). It's not perfect (I'm sure there are edge cases with issues), but it works.

note that the blinka branch is now main.