Announcement

Collapse
No announcement yet.

HS not showing Ocelot variables

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

    HS not showing Ocelot variables

    I am running HS 1.7.7
    ADIOcelot Plugin 1.6.12
    I have code running on the Ocelot that is changing variables. The variable values are not reflecting in HS. The variable dev has ? in HS no matter what it is set to in the Ocelot. All of my Ocelot variables have ? in HS. I have all the checkboxes checked in the General/Variable tab of the ADIOcelot setup. I have tried the Poll Rate at 2000 and 500 mS.

    Thanks,
    Jabran

    #2
    <BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by jabrans:
    I have tried the Poll Rate at 2000 and 500 mS.

    Thanks,
    Jabran <HR></BLOCKQUOTE>

    Take it down(?) to 150.

    Comment


      #3
      Tried 150 mS for the poll rate and I'm still not getting the variables updated in HS. Jabran

      Comment


        #4
        The plugin writes variable values received from the ocelot into the DeviceValue of a device. What range of values do you see when you look at the deviceValue? Are they changing? You can enable to debug log in the plugin and see what data is being sent by the ocelot over the serial port.

        Comment


          #5
          All of my Ocelot variables have a "?" in their status in HS on the Devices screen.

          I put this code in the Ocelot
          <pre class="ip-ubbcode-code-pre">
          IF X10 A/7 On Command
          Then Variable#3 = 3
          </pre>

          I sent an A7 On from the Maxi Controller. HS shows the A7 in the HS log.
          The Ocelot log shows the A7 received but Variable 3, Device code \3, in HS still has a status of "?".

          HS Log:
          <pre class="ip-ubbcode-code-pre"> 5/30/2004 1:15:39 PM~!~X10 Received~!~A7(?) A On
          5/30/2004 1:15:40 PM~!~X10 Received~!~A7 (?) A On
          </pre>

          Ocelot Log:
          <pre class="ip-ubbcode-code-pre">
          5/30/2004 1:15:40 PM **** Ocelot says X10 rec (1) 0,6
          5/30/2004 1:15:40 PM 2A 0 0 67 A9 0 0 0 0 0 0 0 3 0 0 0 ... FF 0
          5/30/2004 1:15:40 PM *** Ocelot says x10 rec 0,18
          5/30/2004 1:15:40 PM Waiting for IO info from Ocelot
          5/30/2004 1:15:44 PM MSCOMM
          5/30/2004 1:15:44 PM MSCOMM
          5/30/2004 1:15:44 PM MSCOMM
          5/30/2004 1:15:44 PM 2A 0 0 8D B5 0 0 0 0 0 0 0 0 0 0 ...
          5/30/2004 1:15:46 PM Waiting for var info from Ocelot
          5/30/2004 1:15:48 PM MSCOMM
          5/30/2004 1:15:48 PM MSCOMM
          5/30/2004 1:15:48 PM MSCOMM
          5/30/2004 1:15:48 PM MSCOMM
          5/30/2004 1:15:48 PM 2A 0 0 67 A9 0 0 0 0 0 0 0 3 0 0 ... FF 0
          5/30/2004 1:15:48 PM Waiting for IO info from Ocelot
          5/30/2004 1:15:50 PM MSCOMM
          5/30/2004 1:15:50 PM MSCOMM
          5/30/2004 1:15:50 PM 2A 0 0 8D B5 0 0 0 0 0 0 0 0 0 0 ...
          5/30/2004 1:15:50 PM Waiting for var info from Ocelot
          </pre>

          There were a lot more of the MSCOMM lines in the Ocelot log that I didn't copy.
          There were about 30 lines with MSCOMM for every second.

          When I use CPUXA Access and connect to the Ocelot and look at the variables,
          all of the variables are 0 except for Variable 3, it is 3.

          I have the poll rate set back to 2000mS.

          Jabran

          Comment


            #6
            Your hs log entries indicate that no homeseer device has been defined for A7. That is the source of the ?. An X10 device is not the same as an ocelot variable.

            Nowhere did you indicate what the DeviceValue was for the ocelot variable for which you are expecting a value of 3.

            Comment


              #7
              The DeviceValue for the Ocelot Variable 3 is /3. That is the device in HS that I am expecting to see as 3 after the Ocelot receives an X10 on for A7. I am expecting the Ocelot to receive A7 on, which it is, and set variable 3 to equal 3, based on my code in the Ocelot, and then HS to indicate Device /3 to have a value of 3.

              Comment


                #8
                The DeviceCode for the variable is /3. What value do you get when you look at the DeviceValue? ( e.g. msgbox cstr(hs.DeviceValue("/3")) )

                Comment


                  #9
                  Michael,
                  I created an event to execute a script, not sure if there was an easier way. Anyway the device is actually /4 since it is variable 3 and variable 0 is /1. I got a return of 0. Used CPUXA Access to check the Ocelot and it shows variable 3 is set to 3.

                  Jabran

                  Comment


                    #10
                    Change the value of this variable to anything other than 3 or 0 and test again. Also be certain that house code / is for the lower bank of variables since two house codes are needed to get all 128 variables.

                    ADIOcelot looks for changes in the value of a variable and only transfers it to homeseer on a change.

                    When I do quick tests such as these I usually use a .vbs file that is located on my desktop. I just edit it for each test. This allows a quick edit with notepad and a double-click to try it out.

                    test.vbs

                    set hs = CreateObject("Homeseer.Application")
                    msgbox cstr(hs.DeviceValue("/4"))



                    You can also look at all the variables with a little loop such as the following. The scratchpad variables around 63 should always have a non-zero value from the ocelot.


                    hc = "/"
                    for ihc = 1 to 2
                    x = ""
                    for i = 1 to 64
                    x = x & cstr(hs.DeviceValue(hc & cstr(i))) & ","
                    next
                    msgbox x
                    hc = chr(asc(hc)+1)
                    next

                    Comment


                      #11
                      I deleted all the devices in HS for Ocelot variables 0 - 127 and used the ADIOcelot plugin to recreate them by checking all the boxes and hitting "Create and Delete Variables" from the General/Variables tab in the plugin. Then all of my devices showed a blank status in the Device page of HS.

                      I changed my code on the Ocelot to be:
                      <pre class="ip-ubbcode-code-pre">
                      IF X10 A/7 On Command
                      Then Variable#3 + 1
                      </pre>
                      So now when the Ocelot received an A7 it increments Variable 3 by 1. I verified this using the CPUXA software.

                      I used this vbscript to check the value of my HS device
                      <pre class="ip-ubbcode-code-pre"> set hs = CreateObject("Homeseer.Application")
                      X = 4
                      msgbox "Device /" & x & " = " & cstr(hs.DeviceValue("/" & x)) </pre>

                      I always get 0 as the value. I checked all the variables 0 - 64 and they were all equal to zero. I know I am missing something here because the Device /4 in HS has a last change time of when I hit A7 last but in the Device tab the Status is blank and when I run the script it returns 0.

                      I've included some screen shots so maybe you can see what I'm missing.





                      Comment


                        #12
                        It all looks good. The attached is a plugin version that will dump the values of variables 4 and 5 to the hs log as they are being polled. It contains some info on internal management status as well.
                        Attached Files

                        Comment


                          #13
                          I downloaded the new plugin .exe file and put it in my Homeseer folder and renamed my original .exe file.

                          Started up HS and all my variables were 0 except variable 3 it was 12. First time I had seen that. I then sent an A7 and variable 3 went to 13. I saw the extra lines in the debug also.

                          I then went back to my original 1.6.12 plugin and it is working fine.

                          Apparently the problem was fixed when I deleted and recreated the devices using the ADIOcelot plugin but the Status wasn't updating until I restarted HS which I hadn't done until I installed your debug version. Not sure if this is a bug with HS or what?

                          Thanks for all the help.

                          Comment

                          Working...
                          X