Wiser and Temperature Display

Discussion in 'C-Bus Wiser 1 Controller' started by arrikhan, Apr 20, 2013.

  1. arrikhan

    arrikhan

    Joined:
    Oct 16, 2011
    Messages:
    48
    Likes Received:
    6
    Location:
    Australia
    Hi,

    I've attempted to implement the logic as per the following threads to display temperature from my 5031RDTSL units through the Wiser (I have two sensors, one outside under an eave and one inside). I have setup both sets of logic as per the link below in the end, one for each sensor as I can't seem to get either to work and I don't know what I'm missing.

    http://www.cbusforums.com/forums/showthread.php?t=6180
    and
    http://www.cbusforums.com/forums/showthread.php?t=7124

    I've added the devices in Project>CBUS App>Measurement Application Manager
    I've added the variable in Project>Edit System IO
    I've added the logic and global variables and the logic runs without error
    I've setup the temperature sensor units (new) to "Measurement" mode with 0.5C broadcast and 1 minute broadcast intervals (the rest at defaults)

    One thing I've noticed when in CBUS Toolkit, after changing the devices to "Measurement", an application is created called Measurement but the devices are not populated in there (nor do I have an option to add them if i edit the application in CBUS toolkit). Is this supposed to populate this application when I change the mode of the sensors?

    Secondly, I can read the temp off of the unit through CBUS toolkit by hitting refresh.

    Last, the Widget I have setup displays the initial value I setup in System IO Variable Manager, but never updates through IPAD App or Browser to Wiser.

    I'm guessing, the broadcasting isn't happening, or I'm reading the wrong channel? Whilst I setup the Channel in the module logic and in the Measurement App Manager, I don't see an option to set it up in the unit.

    Can anyone see something I've missed?


    Ben C. :confused:
     
    arrikhan, Apr 20, 2013
    #1
  2. arrikhan

    bmerrick

    Joined:
    Jun 13, 2007
    Messages:
    437
    Likes Received:
    35
    Location:
    Sydney
    Hi Ben,

    Sounds like it should be working. Can you post your logic module and also please note the unit address and measurement device ID of your temp sensors.

    I don't have an 5031RDTSL on my home network, (my sensors are in 5070 thermostats and the earlier analog temp modules or various thermistors attached to General input units), but I seem to remember from a client setup that in PICED with C-Bus connected, you should be able to see the temp in Measurement manager if it is configured correctly, before it even gets transferred to Wiser.

    Check that the measurement device ID set in the temp sensor is what you are using in measurement manager, not the unit address (unless they are both set as the same)

    Brad
     
    bmerrick, Apr 20, 2013
    #2
  3. arrikhan

    arrikhan

    Joined:
    Oct 16, 2011
    Messages:
    48
    Likes Received:
    6
    Location:
    Australia
    Thanks for having a look...



    Here are my settings and code..

    Device Settings
    through CBUS tooklit
    Code:
    Unit Identification for 5031RDTSL
    Sensor Mode: Measurement
    DeviceID: 34
    
    Application (auto created): Measurement
    
    Global Settings for 5031RDRSL
    Broadcast Trigger Group: <unused>
    Automatic Temperature Broadcast>Broadcast Interval: 1 Minute
    Automatic Temperature Broadcast>Temperature Threshold: 0.5 oC
    
    
    Measurement Application Channel
    Code:
    Name: TempLounge
    Network: Local Network
    Device ID: 34
    Channel: 0
    Units oC
    
    Power Meter: Measuring Power is unchecked
    Controllable: unchecked
    
    System Input/Ouput
    Code:
    Name: TempLounge
    Type: String
    Value 0 C
    
    Logic
    Global Variabiles
    Code:
    TempLounge : real;
    TempLoungeString : string;
    
    Initialisation
    Code:
       TempLounge := 0;
    
    Module: TempLounge
    Code:
    if GetBoolIBSystemIO("Measurement App Valid Value", "Local Network", 34 , 0) then
      begin
        TempLounge := GetRealIBSystemIO("Measurement App Real Value", "Local Network", 34, 0);
        Format(TempLoungeString, TempLounge:0:1, 'C');
        SetStringSystemIO("TempLounge", TempLoungeString);
      end;
    
    Widget
    Code:
    Service: Logic
    Widget Type: User System IO String
    Location: ~~
    Function Group: ~~
    System IO Variable: TempLounge
    Label: Internal Temperature
    
    Regards,

    BenC
     
    arrikhan, Apr 21, 2013
    #3
  4. arrikhan

    bmerrick

    Joined:
    Jun 13, 2007
    Messages:
    437
    Likes Received:
    35
    Location:
    Sydney
    Hi Ben,

    I don't have one of these to test out today, but on reading some of the other posts, I think the 'Get' lines maybe should read:

    if GetBoolIBSystemIO("Measurement App Valid Value", "Local Network", 34 , 1) then

    and

    TempLounge := GetRealIBSystemIO("Measurement App Real Value", "Local Network", 34, 1);

    as it seems like the 5031RDTSL module sends the temp on channel 1, not zero.

    I think you could also consider removing the 'if GetBoolIBSystemIO("Measurement App Valid Value", "Local Network", 34 , 1) then' line all together and replace it with NickD's 'once (Second = 0) then' line instead which will run a temp update once a minute.

    As mentioned before, the temps should display/work in 'Measurement Manager' from PICED ie you should see the values being updated in the table as long as you have ticked the 'Connect to C-Bus' under the options tab.

    Let me know if this does it,

    Brad
     
    bmerrick, Apr 21, 2013
    #4
  5. arrikhan

    arrikhan

    Joined:
    Oct 16, 2011
    Messages:
    48
    Likes Received:
    6
    Location:
    Australia
    I can't believe it was that simple!

    I think I tried channel 1 but had my logic wrong earlier in my trials. Can I ask what lead you to understand it uses channel 1? I couldn't find any documentation to suggest any specific channel.

    Thanks for taking the time to help out.

    I can now have a crack at more advanced code to manage natural cooling with automated windows/blinds based on temperature readings/comparisons.


    Regards,

    BenC
     
    arrikhan, Apr 23, 2013
    #5
  6. arrikhan

    bmerrick

    Joined:
    Jun 13, 2007
    Messages:
    437
    Likes Received:
    35
    Location:
    Sydney
    Hi Ben,

    Glad to hear it fixed you up. You are right, I spent a while looking for the channel details in Toolkit help and PICED help and couldn't find unit specific information that suggested channel 1 rather than zero. It might be there but seems not under the unit specific details. I just then went on and read all the specific previous forum posts about that module and noticed they all had channel one used in the logic posted. That's where my suggestion came from as I didn't have one here to test.

    Everyone enjoys the forum being a 'Two Way Street' so when you have your logic sorted out for the blind / windows control based on temp inputs etc, why not 'pay it forward' and post your logic for someone else to use/modify in future. I'm certain it will be appreciated by all.

    All the best,

    Brad
     
    bmerrick, Apr 24, 2013
    #6
  7. arrikhan

    arrikhan

    Joined:
    Oct 16, 2011
    Messages:
    48
    Likes Received:
    6
    Location:
    Australia
    A good plan.

    I've combined the previous recommendation to only check every minute from the other logic posted also.

    Thanks again for helping ....

    Regards,


    BenC


     
    arrikhan, Apr 24, 2013
    #7
  8. arrikhan

    MadMal

    Joined:
    Dec 16, 2009
    Messages:
    76
    Likes Received:
    1
    Location:
    Perth, WA
    Thanks for your posts guys - I now have my wiser showing temperature from all my zones.

    BTW: I extended the comment from Newman in the second link above and am getting my temperature readings directly from my Advantage Air system via the measurement app :)

    AA Automation Module =(rs232)=> B/Wtouch =logic=> measurement app => wiser

    I also have another test running using an internet of things (M2M) gateway to harvest the same info and presenting that on the measurement app :)
     
    MadMal, Aug 15, 2013
    #8
  9. arrikhan

    chrisd4021

    Joined:
    May 12, 2011
    Messages:
    44
    Likes Received:
    0
    Location:
    South Yorkshire
    Issue displaying on Wiser 2

    Hi Guys,

    I have a bit of a problem...

    I'm using the same code above to show temperature on a Wiser 2. I have 2 x 5104 DTSI (digital temp sensor input unit) and 3 x5100DTST (digital probe).. 2 probes on the first input and 1 probe on the second

    as a test the first device with 2 probes the temperature is outputted perfectly using


    {Global Variable}
    TempOutsideReal : real;
    TempOutsideString : string;

    {Initialisation}
    TempOutsideReal := 0;

    once (Second = 10) then // IMPORTANT - don't run this code every cycle - once a minute is ample
    begin
    TempOutsideReal := GetRealIBSystemIO("Measurement App Real Value", 254, 254, 1);
    Format(TempOutsideString, TempOutsideReal:0:1, 'C');
    SetStringSystemIO("TempOutside", TempOutsideString);
    end;

    On the second device with 1 probe the output just flashes up on the wiser briefly then defaults back to 0.0C with the following line changed to reflect the device ID 252

    TempOutsideReal := GetRealIBSystemIO("Measurement App Real Value", 254, 252, 1);

    All 3 probes are added to Measurement Manager and are displaying correctly there and also on the PICED wiser testing page as a Level/system I/0/Key Function (Status)/System I/O Variable.

    Any thoughts?
    Thanks Guys...
     

    Attached Files:

    chrisd4021, May 11, 2016
    #9
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.