Central Heating Controller made with Blynk

Not so much a project write up more a screenshot of the ‘final’ App for our Central Heating Controllers. Fairly self explanatory but please let us know if you have any questions.

Very impressed with the Blynk system and look forward to hearing more about the costs in due course. With phones and tablets costing less than $50 these days it will be difficult for us to add $20 or $30 for lifetime access to Blynk for each end user of our product.

2 Likes

May I ask how you interface with your heating system? I know of OpenTherm, is that what you use?

Nano clones with RF transmitters (and receivers for learner feature) to RF controlled central heating switches.

Ah ok, that’s more basic, and probably stable, than I imagined. I was thinking of interfacing with an OpenTherm system, but I still have to buy one, lol.

Our systems are like Google’s Nest and British Gas’ Hive systems but without the $3.2bn price tag :smile:

Hi Costas,
Could you please send me your code for increasing or decrasing a value with buttons?

@misadeks I’m glad you asked that question, it gives me the opportunity to show the latest screenshot with the new Blynk buttons.

The promo app for our device is now on Google Play at https://play.google.com/store/apps/details?id=thechariot.co.uk
If you use iOS the ipa file is available on our server at https://thechariot.co.uk/apps/thechariot.co.uk.ipa

Ok the code snippet:

BLYNK_WRITE(V1) // reads STEP on V1 slider pin, range 1 to 60 minutes
{
  STEP = param.asInt();
  delay(50); // try to stop flood errors with Blynk server when sliding the server
}

void plustime() {

  if (Mode < 3){
    if ((CountdownTime + STEP) <= 1440) {  // 1440 is number of minutes in a day
      CountdownTime = CountdownTime + STEP;  // increase a counter
      Blynk.virtualWrite(V15, CountdownTime);
    }
    else {
      CountdownTime = 0; // reset minutes from 1440 to 0
      Blynk.virtualWrite(V15, CountdownTime);
    }
    displaylcd();  // function to display time on the LCD
  }
}

void minustime() { 
  if (Mode < 3){
    if ((CountdownTime - STEP) >= 0) {
      CountdownTime = CountdownTime - STEP;  // decrease a counter
      Blynk.virtualWrite(V15, CountdownTime);
    }
    else {
      CountdownTime = 1440; // reset minutes from 0 to 1440
      Blynk.virtualWrite(V15, CountdownTime);
    }
    displaylcd();  // function to display time on the LCD
  }
}

BLYNK_WRITE(V5) { // plus time
  int PlusBtn = param.asInt();
  if (PlusBtn == 1) {
    plustime();
  }
}

BLYNK_WRITE(V10) { // minus time
  int MinusBtn = param.asInt();
  if (MinusBtn == 1) {
    minustime();
  }
}

Please shout if it doesn’t make sense.

@Pavlo if you have an Android and iOS device can you please try the apps as there is something I would like to show you when you have them installed (Android app as a minimum).

Thank you very much for the code!

Of course I have them installed. Please let me know what you would like me to look at?

@Pavlo you have the CHARioT Android and iOS apps installed or you have Blynk apps installed?

Blynk of course ). Should I install CHARioT?

Please, Android and iOS if you can.

send the links please, I can’t find it

They are in post 7 of this thread.