No announcement yet.

Need Analog help with Secu 16 / Ocelot

This topic is closed.
  • Filter
  • Time
  • Show
Clear All
new posts

    Need Analog help with Secu 16 / Ocelot


    I need help with my Secu-16 / Ocelot setup.

    I don't know much about Cmax, other than I need to use it to address modules prior to using them with HomeSeer.

    I have an Ocelot, along with 2 Secu-16 modules, and an Secu-16I module.

    I have digital inputs and output working flawlessly, but I am unable to get the analog input to work.

    I have a thermistor installed in my heated floor, and I would love to integrate it into HomeSeer.

    I did move the jumper in the Secu-16, along with going into the properties of the device in HomeSeer and changed it to analog.

    All HomeSeer shows is 0, and I have tried different resistors wired into input 7 on module 2, and HomeSeer does not change.

    Do I need to load some code into the Ocelot via Cmax for HomeSeer to see the resistance change?

    I am basically looking for HomeSeer to act as a "smart ohm meter", so I may determine the resistance values (corresponding to the temperature value) and create events based on such resistance values acting as a trigger.

    Thank you for any help you may provide.


    Reading analog value isn't straight-forward as it would seem it should be. Please see the attachment to this post for a writeup on it.


      Could you please clarify?

      Sorry to ask a dumb question:

      Is this the only code I need to dump into Cmax executive?

      Could you please clarify the following:

      I presume that "Module # 1" is referring to the module addressed in Cmax? So in my case, I have 3 modules, in addition to the Ocelot (which is a given, so no module #)

      "Analog # 0" is input 0, and would be a number "0" through "7", (one of the 8 inputs on the secu16, or "0" through "15" on the secu16I

      Does "Variable #97" mean anything, and can it be "variable #1"
      <!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" oreferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <vath o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:24pt; height:24pt'/><![endif]--><!--[if !vml]-->
      0555 - IF Module #1 -SECU16 Analog #0 is < 256
      0556 - THEN Load Data to: Variable #97
      0557 - IF Module #1 -SECU16 Analog #1 is < 256
      0558 - THEN Load Data to: Variable #98

      Thanks again for your help.
      I've investigated many different options for analog input into HomeSeer, and because I need to use an existing thermistor, it is even more restrictive.

      I've toyed with options such as retrofitting the thermistor onto a existing Z-Wave or Insteon thermostat and using that for the reading, but they seem to be vary different with respect to resistance.

      Other options such as the EZIO2x4 that speaks Insteon only seem to provide an "alarm" value, where it would trigger an "on" command via Insteon.

      I believe we can read any resistance we need to with the respect to the thermistor, if I can have the patience to figure this out.



        When you start your project go under "Project" -> "System Map" and change the Module type for each number to match your module numbers. This lets Cmax map the right choices to each module. The numbering is as displayed when starting Cmax.

        Nothing special about the variable #. That just happened to be the one in use for the part i copied.

        That should be all the code needed except for "end program" as the last line.
        good luck!


          It works!

          I finally have it, thank you so much for the pointers.

          I would like to summarize to help others from pulling hair out:

          Here are some very quick notes:

          1. Auto address modules in Cmax
          2. Put correct type of module in system map
          3. Write code - this is working code
          4. Save project
          5. Download project

          I will continue on next post for more pictures
          Attached Files


            I had errors upon first attempt of download. Make sure you remove checks.

            You can then close Cmax, and go into HomeSeer.

            Once you go into HomeSeer, initialize plug in, and save, and goto config.

            The config window is behind HomeSeer, so minimize HomeSeer if necessary to view.

            Make sure you load Ocelot, and then related modules.

            HomeSeer will now have several devices, and the variables actually show up under Ocelot, and not the related module that you are connecting to.

            In other words, don't expect the analog value to appear on "Secu 16 Unit 1", the value will not be respective of the variable.

            Go to "Ocelot" and you will see the variables - you should see variable 0 change (respective of the code you wrote).

            2 other points:

            1. The analog / digital setting in HomeSeer for the given module - example Secu 16 Unit 1 input 0 - changing from the default value of digital to analog does not do much, other than changes the value to 0.

            The variable is where the real data that matters is at, again under Ocelot, and not the module you are looking at (where it typically appears when you are looking at digital status)

            2. The jumper inside the Secu16 module, respective of the given input, can be misleading.

            In other words, according to the user manual from Applied Digital, the jumper must be removed to use in analog mode.

            This removes the default internal +5v feed, along with an internal resistor from what i understand.

            If you remove the jumper, you must provide an external +5v feed to wire in with your device.

            Since I did not want to mess with that, I left the jumper in the same position as it would have been for digital, and as I change the resistance, I can do a refresh on the Ocelot screen and see the number associated with the variable change.

            I actually relabeled the inputs on the Secu 16 unit 2 page, so I know to look at the Ocelot variables.

            Jim, thank you so much for your help in getting me pointed in the right direction!!!!

            I can now automate my heated floor with the thermistor it came with, and my external load controllers.

            Attached Files