Braemar heater Control - Relay + Temp Sensor

Discussion in 'C-Bus Wired Hardware' started by Ks04, Jan 27, 2020.

  1. Ks04

    Ks04

    Joined:
    Dec 28, 2019
    Messages:
    23
    Likes Received:
    1
    Hi Gang,

    I've got a Braemar gas heater which is currently controller by a dumb 2 wire controller (When setpoint is reached, open relay to turn off, close relay to turn on).

    I want to move this across to the C-Bus.

    I Understand the 5031RDTSL you can set a target temperature in the config, then have an group triggered that could control a relay, however is it possible to control the setpoint/target temperature for the unit via a eDLT?

    If not, I'm guessing an alternative approach would be to use the 5031RDTSL or 5104DTSI with some logic built into a PAC to read the setpoint and trigger the relay based on the temperature reading?

    Please let me know if these are viable, or if there's an obvious alternative I'm missing.
     
    Ks04, Jan 27, 2020
    #1
    1. Advertisements

  2. Ks04

    chromus

    Joined:
    Jan 27, 2014
    Messages:
    309
    Likes Received:
    41
    Location:
    Perth
    You would need to write some logic and have that on a logic unit.

    The EDLT would then need to set a variable that is used to set the switching point.

    I’ve been racking my brain for how to do it so that it displays nicely on the EDLT screen and think that you may need to have a bunch of scenes that you scroll between each labelled with a temperature.
     
    chromus, Jan 28, 2020
    #2
    1. Advertisements

  3. Ks04

    jboer

    Joined:
    Apr 27, 2012
    Messages:
    458
    Likes Received:
    35
    Location:
    Sydney
    You cant use the DLT part of the ELDT and write the temp in text to the EDLT?
     
    jboer, Jan 29, 2020
    #3
  4. Ks04

    Ashley

    Joined:
    Dec 1, 2005
    Messages:
    1,124
    Likes Received:
    110
    Location:
    Adelaide, Australia
    You could use a lighting widget in nudge up/down mode for the set point. You would need to write some logic to limit how far it can go and control the relay.

    Seems a bit remiss that the temperature widget doesn't give you set point point adjustment though.

    Unfortunately the eDLT doesn't implement the DLT options. You are stuck with the supplied widgets which I find very limiting. It would be much more useful it you had both options.
     
    Ashley, Jan 30, 2020
    #4
  5. Ks04

    jboer

    Joined:
    Apr 27, 2012
    Messages:
    458
    Likes Received:
    35
    Location:
    Sydney
    I'm not sure I quite understand what you mean Ashley? I havent done much DLTing with the EDLTs but a bunch with the originals. So I tested it tonight and can write text to the EDLT to be displayed on the top or bottom line via logic.

    I was thinking if the OP does what you suggest and set say a 5 or 10% nudge that sets the setpoint in the logic and then also writes the text to that group on the DLT. I would say you would only generally want a range between 18 - 28 degrees?
     
    jboer, Jan 30, 2020
    #5
  6. Ks04

    Ashley

    Joined:
    Dec 1, 2005
    Messages:
    1,124
    Likes Received:
    110
    Location:
    Adelaide, Australia
    Yes, that works fine. My issue was that with the eDLT you are stuck with the supplied widgets and have no access to the microfunctions that provide a lot more flexibility for these type of situations.

    I figured if you set the nudge to 1% then the value of the group would be the actual set point so you wouldn't need to write any text. As you say though, you would have to restrict the range by the logic overriding values outside the desired range.
     
    Ashley, Jan 30, 2020
    #6
  7. Ks04

    Wonkey

    Joined:
    Aug 3, 2004
    Messages:
    206
    Likes Received:
    14
    Location:
    Adelaide
    Not exactly the same application but I had to replace my OEM spa controller which needed some temp control.
    What I did using an eDLT was to convert a lighting GA to an Inbuilt system IO that's in degrees C
    On the eDLT I used 3 of the widgets
    1. Temp Selection which is simply a dimup/Dim down widget on a lighting application
    2 Requested temp which is a measurement widget type reading from the pascal logic
    3 Actual temp which is a measurement widget type reading from a 5104DTSI
    So now I can see and view information

    A small selection of the logic below that I wrote to convert the Lighting GA to temp, I went up to 40C (36C keeps the wife happy)

    {convert eDLT spa temp GA Level to an IB system IO that is in degrees C}
    once (GetLightingLevel("eDLT Spa Temp") = 0%) then
    begin


    SetRealIBSystemIO("Measurement App Real Value", "Local", 1, 1, 0);
    end;

    once (GetLightingLevel("eDLT Spa Temp") > 1%) and
    (GetLightingLevel("eDLT Spa Temp") < 10%) then
    begin

    SetRealIBSystemIO("Measurement App Real Value", "Local", 1, 1, 30);
    end;

    once (GetLightingLevel("eDLT Spa Temp") > 10%) and
    (GetLightingLevel("eDLT Spa Temp") < 20%) then
    begin

    SetRealIBSystemIO("Measurement App Real Value", "Local", 1, 1, 31);
    end;


    once (GetLightingLevel("eDLT Spa Temp") > 20%) and
    (GetLightingLevel("eDLT Spa Temp") < 30%) then
    begin

    SetRealIBSystemIO("Measurement App Real Value", "Local", 1, 1, 32);
    end;

    Then to control the relays some more logic, I built a small amount of hysteresis in to prevent rapid cycling of the heater and pump when close to the requested temp.
    ( there is more logic due to pumps and pressure switches which I have not shown)

    {compare the requested spa temp and the actual spa temp if
    spar temp is less than requested spa temp and heater GA is on then turn on Heater relay}

    once (GetLightingState("eDLT Heater") = ON ) and
    ((GetRealIBSystemIO("Measurement App Real Value", "Local", 1, 1)) - (GetRealIBSystemIO("Measurement App Real Value", "Local", 121, 3)) >0.2)

    then
    begin
    SetLightingState("Heater Relay", ON);
    SetLightingState("eDLT Pump", ON);
    end;

    {Turn off Heater relay when the temp is achieved}
    Once (GetRealIBSystemIO("Measurement App Real Value", "Local", 121, 3)) - (GetRealIBSystemIO("Measurement App Real Value", "Local", 1, 1)) >0.2 then
    begin
    SetLightingState("Heater Relay", OFF);

    end;

    Hopefully it helps a bit
    Colin
     
    Wonkey, Feb 4, 2020
    #7
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.