Announcement

Collapse
No announcement yet.

Homeseer reading ocelot variables.

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

    Homeseer reading ocelot variables.

    I don't know if this is a bug or just a fact of life.

    Any thoughts would be appreciated.

    If I set a variable from homeseer on the ocelot.
    and the ocelot has code written to it that immediatley changes it to something else.
    Then Homeseer never reads the variable change.
    this is the test scenario that it occured with everytime for me.

    hs event is set
    every 30 seconds set variable #10 to 97

    cmax code.
    if timer #0 = 0
    then timer #0 = 1
    if timer #0 is > 20
    and variable #10 = 97
    then variable #10 = 3
    then timer #0 = 1

    HS never recognizes the variable changed. after the first cycle or 2. Even if I disable the HS event from setting it to 97.

    BUT this does work by delaying the variable change.

    cmax code.
    if timer #0 = 0
    then timer #0 = 1
    if timer #0 is > 20
    and variable #10 = 97
    then timer #1 = 1
    then timer #0 = 1
    if timer #1 > 5
    then variable #10=3
    then timer #1 = 0

    This is completly repeatable. I tried it on 2 hs machines with 2 different ocelots.

    StevenE
    Why oh why didn't I just leave things alone, they had been working.

    #2
    I use a similar strategy to change a variable for a watchdog timer.

    I have no problem. As soon as Ocelot changes the variable from 9 to 1, HS changes it back immediately.

    HOw are you doing your homeSeer trigger. I have it set to change the variable with a Conditional trigger.

    As opposed to a device change, which it misses sometimes, I have it say it Variable 50 = 1 then Variable 50 = 9, then it is always monitoring the state as opposed to a one time(potentially missable) device change.

    Rob

    Comment


      #3
      It looks to me as if both of your test programs should work equally well. Looks like good test data for the ocelot plugin.

      I exclusively use variables to handshake between homeseer and ocelot and have never noticed any problems. My ocelot is looping without any delays looking for variables that are changed by homeseer. These same variables could be changed by an earlier part of the ocelot loop as a result of an IR match. The ocelot always acknowledges by decrementing the variable and limiting it to zero. My homeseer applications do not need to see that ocelot has acknowldedged, but I know when I was testing it I could observe the expected behavior on the homeseer GUI. Homeseer is polling the ocelot variables at 2 second intervals.

      Comment


        #4
        Are you saying that you don't see the change in the gui, or is HS not triggering an event based on the change?

        I ran your test here and I see var 10 change to 97 (when the HS event triggers), then I see it change to 3.

        Make sure you are polling in the Ocelot and that you have created the Ocelot variables from the plugin.

        -Rich

        HomeSeer Technologies LLC
        💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

        Comment


          #5
          After looking at this a little more, I am noticing that when running your program, CMAX reports that variable 62 is changing, "alot". I am far from a CMAX export, but why is this happening? The program doesn't reference this variable. Here is my program which should be the same as yours.



          -Rich

          HomeSeer Technologies LLC

          [This message was edited by Rich Helmke (HomeSeer Tech) on Friday, 11 October 2002 at 02:55 PM.]
          💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

          Comment


            #6
            Rich,

            yes, HS never reads the variable change to 3.
            if I stop the the HS event updating the variable it will just stay at 97. ( even though the variable is really 3 .. see below )

            My original code also had. ( the 13 would trigger events on HS to try and get my attention )

            if timer #0 >99
            then variable #10 = 13
            then timer #0 = 1

            If the appropriate 99 seconds the variable ( at 97 ) would change to 13.

            I have tried setting the the polling from 2 to 5 seconds but it didn't seem to affect it.

            I originally noticed the problem because my event was exactly:

            recurring every 30 seconds, set variable 10 to 97
            condition. if variable 10=3.

            This seems to work several cycles from a clean start. I know the ocelot program is working perfectly because, In my testing to isolate it I added a 2lines to the cmax code.

            then variable #7 = variable #10
            else variable #7 = variable #10

            and variable 7 would always report the right value. at the right times.

            As far as value 62 I have no idea. I am extremely far from being a cmax expert myself.

            I must say. That all the devices and modules are working fine through the ocelot. and i have turned on log errors. but haven't recieved any.

            StevenE
            Why oh why didn't I just leave things alone, they had been working.

            Comment


              #7
              Just a question.

              is anyone else using this scenario have the ocelot connected with a serail to usb. both the ocelots I have test are. ( different brands of usb to serial )

              StevenE
              Why oh why didn't I just leave things alone, they had been working.

              Comment


                #8
                I am but I just connected mine tonight. I'm so lost I couldn't help.

                -Rupp
                ...One Nation Under GOD, Indivisible, With Liberty And Justice For All.
                💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                Comment


                  #9
                  What is your HS ADI poll timer? Have you tried 100ms or so to see if it makes a difference?

                  (see profile for environment)

                  Comment


                    #10
                    I have gone from 2000 ms to 5000 ms and get the same results.

                    But the timing still isn't right for me. even after adding the 2 second delay for the variable on the ocelot, after a little while the events fail.

                    Basically what I was trying to do

                    every minute
                    homeseer sets a variable to 97. ( if the variable equals 3 )

                    the ocelot 20 seconds changes the variable back to 3.

                    the ocelot after 99 seconds is still at 97 then change the variable to 13.

                    It runs for a little while then ends up at 13.
                    Can't exactly tell why.

                    StevenE
                    Why oh why didn't I just leave things alone, they had been working.

                    Comment


                      #11
                      Try going the other way with the timer: like 200ms or even 100ms.

                      My thinking is this: you can't get a reading when your wait in CMAX is 1 second, but you get it when your wait is 2. That seems like something that could be cured by polling more frequently.

                      Probably wrong, but worth a try...

                      Edit: oh... one reason it might end up at 13 is that you may not be polling during the one second that it is the value you want. Hence, sometimes you'll hit, others you won't, but you will certainly end up at 13 eventually when you miss the timer. A shorter poll seems like it would fix it.

                      (see profile for environment)

                      Comment


                        #12
                        Rich,

                        I believe that variable 62 is like a global variable "viewer", and all changes are reflected here either just before it is reported to the particular variable you have assigned or simultaneously.
                        I noticed this when I was playing with my IR. I always saw this variable change from 999 to the code "location" I assigned, through CMax scripting. It should always return to 999, I believe.

                        I guess this means one should not use or define variable 62 as anything special.

                        regards,

                        GenevaDude

                        Comment


                          #13
                          Variable 62 is changing constantly, so much so that the plugin is getting flooded with events and can't update the other variables properly. This is the problem I am seeing. If I don't run that program, or run a different one, I don't see this issue. Maybe it has something to do with the ver of FW in my Ocelot?

                          -Rich

                          HomeSeer Technologies LLC
                          💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                          Comment


                            #14
                            Rich,

                            Does that mean you saw the problem I was having or just a general problem.

                            StevenE
                            Why oh why didn't I just leave things alone, they had been working.

                            Comment


                              #15
                              I think I see your problem, but the root cause in my case is variable 62 changing. Does anyone else see that?

                              -Rich

                              HomeSeer Technologies LLC
                              💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                              Comment

                              Working...
                              X