Announcement

Collapse
No announcement yet.

ADI Ocelot Plugin Updates

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

    ADI Ocelot Plugin Updates

    I do not expect there to be too many iterations of the ADIOcelot plugin, but I know there will be more than one so I'm starting this thread to make the most current version available prior to going the the Updater.

    The alternate ocelot plugin (ADIOcelot) is based upon the code from V1.0.29 of HST hspi_ocelot.exe which is the configuration as of October 2003. It addresses five areas of the plugin:

    1. Dynamic generation of variables and I/O points
    2. Filter of unused variables and I/O from unnecessary procesing by homeseer
    3. Remapping of IR modes to allow continuous definitions for an IR device
    4. Dynamic Connect / Disconnect of Com Port to allow CMAX use
    5. Synchronization of CMAX System map with Homeseer definitions


    Future upgrades may occur based upon needs of the community. It is the intention to always maintain backward compatibilty with HST version of the ocelot plugin and to incorporate any future upgrades that may be made by HST.



    Here is a log of what is changing

    <pre class="ip-ubbcode-code-pre">
    PR1 1.2.0 Com Port not recognized
    PR2 1.2.0 Added PlayIREx method
    PR3 1.2.1 Added Startup Trace Code
    PR4 1.3.0 Added System Map / CMAX Support
    PR5 1.3.1 CMAX started before comm port closed
    PR6 1.3.2 Not able to receive X10
    PR7 1.3.3 DefineHSIR Permission Denied Error
    PR8 1.4.0 Add Script call before/after CMAX
    PR9 1.5.0 IO points offset by 1 in hs devices
    PR10 1.5.0 Add DeviceValue support to IO points
    PR11 1.5.1 Call CMAX sync scripts when ocelot comm present
    PR12 1.5.2 Only 1 SECUxx unit recognized as unique
    PR13 1.6.1 Provide option to receive X10 xmit
    PR14 1.6.1 Unreliable discrete input changes
    PR15 1.6.1 Record SECU unit mappings for reference in settings.ini
    PR16 1.6.10 SECU units after SECU16IR mismapped
    PR17 1.6.10 IO Points handling shows delays
    PR18 1.6.11 Remove Timing collection in virtual devices
    PR18 1.6.12 Handle IR locations above 380
    PR19 1.6.13 Bridge over house code "`" for variables
    PR20 1.6.14 Transform relay on/off commands into value 0/1 commands
    PR21 1.7.0 Allow input inversion to be specified on a per-module basis
    PR22 1.7.1 Plugin acts upon output commands to other two-state plugins
    PR23 1.8.5 Add support for multiple SECU16IR

    </pre>

    Updates moved to http://board.homeseer.com/showthread.php?t=101048
    Last edited by Michael McSharry; December 30, 2004, 04:09 PM. Reason: Moved thread so it can be a sticky and not get lost

    #2
    I believe I found reason the com port is not recognized. I suspect those with a problem with it are using the ocelot as the homeseer X10 interface. I'm not so I overlooked this when testing. If a problem still exists then I will add some debug info to help understand why.

    I also added a new method PlayIREx after seeing Jim Doolittle's desire for it. Everything was already in the plugin to handle it so it was not a biggie.

    I do not have a SECU16IR so I was not able to test to confirm that I got the IR Zone processing done correctly with the PlayIREx command. Someone else with the SECU16IR will need to confirm.



    PlayIREx is a generalize Play IR method that will accept either a specific IR location or a mnemonic that is defined in the IR config of homeseer.

    bStatus = PlayIREx (Location as Variant)

    The returned value bStatus is 0 if Location is not a recognized value and 1 if recognized.

    The input parameter Location is a variant. If it is a number then it is treated as the specific IR location. In this mode the PlayIREx and PlayIR methods are equivalent.

    Location can also be a string of the form “Device Label” with a space use to separate the Device and the IR label. The Device and Label values are those defined from the Homeseer GUI View/IRConfig and contained in the file \Config\irlbl.cfg.

    If the specified IR label is associated with a SECU16-IR zone then the PlayIREx method will command the remote unit. If it is associated with the ocelot/leopard then it will be a local IR command. The zone definitions used are those contained in \Config\irzone.cfg. If a zone is not defined, or defined as either 0 or 17 then the command will be a local IR command to the ocelot/leopard.

    Examples:
    Set cpuxa = hs.GetPlugins(“ADIOcelot”)
    cpuxa.PlayIREx “TV On”
    Status = cpuxa.PlayIREx(56)

    Comment


      #3
      System map synchronization has been added to the plugin. While I cannot provide source for the plugin, the system map processing is isolated to a single module and it is posted for reference. A vbs file was also added to rename the updated IR files. The zip file is stored with a file structure and can be unzipped from the homeseer root directory.

      A little reoganization of the setup form was done, but most of the change is related to the CMAX support.

      Comment


        #4
        Very nice. I just got my Ocelot up and running again, ADIOcelot plugin was released, and TouchPad plugin was released. This should all work together nicely.

        The ability to start/stop CMAX without stopping/starting HomeSeer is a big time saver.

        Thanks,

        Jim Doolittle
        Jim Doolittle

        My Twitter
        My Hardware & Software

        Comment


          #5
          Replaced by powerline interface and was able to track down the X10 receive problem. All should be 100% now with the plugin. I'll leave it here for awhile and if everyone is happy then move it to the updater.

          Comment


            #6
            So far I have no major problems with ADIOOcelot. It works very good. I did receive an "Define HSIR Permission denied" error when trying to use System Map for device and IR label naming.

            Would it be possible to add an option to the System Map &lt;-&gt; HomeSeer naming function that would only include devices with names that differ from default plugin device names? This would be easier to maintain than determining which of the device codes need to be checked in the Variables To/From HomeSeer Devices section.

            For example, if that option were available and selected, then all device names starting with "Variable #" for Ocelot devices or "Input #" for Secu16/Secu16I devices would be ignored and correspondingly unchecked in the Variables To/From HomeSeer Devices section. Hopefully, user would not rename and still include that portion of original name.

            If this sounds reasonable and doesn't create a lot of work on your part, I will test as soon as it is available. Meanwhile, I have to do some IR troubleshooting.

            Jim Doolittle
            Jim Doolittle

            My Twitter
            My Hardware & Software

            Comment


              #7
              I think I understand what you are asking, but I do not see the relationship between the request and the System Map Synchronization function.

              When a Variable or IO point is unchecked on the plugin's grid then the homeseer device is deleted. There is no longer anything for the Synchronize function to look at on the homeseer side. I can see where it is possible to add a button that will "auto populate" the grid based upon current homeseer device definitions. This button would only come into play one time after someone originally used the ocelot plugin and is now using the ADIOcelot one.

              Lets explore what really should be done to make the plugin intuitive for the user in this area.

              I can see the the DefinedHSIR error message. Dont know what happened yet, but I'll run it down.

              Comment


                #8
                Yes, what I am asking is not directly related to the System Map synchronization. Just a logical extension of the process.

                If it were used without System Map being involved, then I am not sure how it should work once a user first uses it. Maybe if the user names it, then it would not be deleted/re-created by the plugin. The user would need to deal with it unless the plugin were uninstalled and all devices go bye-bye.

                Right now, the ability to see the device name by hovering over the checkbox in the Variables To/From HomeSeer Devices section works great for accomplishing the same result. So, consider this request a very low priority.

                Jim Doolittle
                Jim Doolittle

                My Twitter
                My Hardware & Software

                Comment


                  #9
                  The update for the Permission error is posted. I also received a permission error when trying to copy the backup in the .vbs script so I changed it to time-stamp the backups. That avoids the problem as well as retaining a history. This is a safer approach rather than a single file backup.

                  I'll leave device name recognition alone at this time and keep the V1.3.3 update posted for awhile before moving it to the Updater.

                  Comment


                    #10
                    Help:
                    I am running ver 1.3.2 and I am unable to toggle a relay on my SEC16 unit through scripting.

                    Using the GUI I can toggle on/off without any problems.
                    I attempt the following lines in scripting and nothng happens, not even an error. HomeSeer will read back the correct status.
                    <pre class="ip-ubbcode-code-pre">
                    hs.SetDeviceStatus "]16",2
                    hs.waitsecs 1
                    msgbox hs.devicestatus("]16")
                    hs.SetDeviceStatus "]16",3
                    hs.waitsecs 1
                    msgbox hs.devicestatus("]16")
                    </pre>

                    I then attempted to use this method:
                    <pre class="ip-ubbcode-code-pre">
                    Set cpuxa = hs.GetPlugins(“ADIOcelot”)
                    cpuxa.setpoint 1,16,1
                    </pre>
                    and I get the following error:
                    <pre class="ip-ubbcode-code-pre">
                    11/9/2003 1:04:33 PM~!~Error~!~Script error in file: DoorBell.txt: 1032:Invalid character in line 1
                    </pre>

                    Ideas? fixes?

                    thanks...

                    Comment


                      #11
                      I have installed ADIOcelot 1.3.3. I've added it as an interface. I have removed the Applied Digital Ocelot as an interface. I have selected ADIOcelot as my infared interface in View --&gt; Options. I did not select a com port. When I set a com port there it seemed to interfere with the ADIOcelot plug-in communicating with the Ocelot. Here's my questions:
                      1. Do I have it configured properly when using ADIOcelot 1.3.3?
                      2. In this config how do I learn IR commands and how do I relabel them? When I was using the Applied Digital Ocelot plug-in I did it from IR Config under View but now that is blank.

                      Thanks, Jabran

                      Comment


                        #12
                        sbessel,
                        I'm not clear on the nature of the problem. Is the correct status displayed in messages boxes when the hs devicevalue methods are used? Do the message boxes even appear?

                        The cpuxa object was defined in homeseer in versions before beta 130 or so. In the later betas it is defined by homeseer only when their ocelot plugin is used. If you have an earlier version of hs, then you cannot use the cpuxa object name, but should be able to use just about any other (e.g. cpuxa2). While using the plugin methods directly such as setpoint, they do not provide any more functionality than using the deviceValue of the homeseer object. Either can be used, but I find it easier to manage only one object (hs) rather than dealing with two.

                        The points defined for the SECUs are numbered from 0 to 15, while the homeseer devices are numbered from 1 to 16. When using setpoint you need to backoff the point number by 1. 16 is out of range.

                        I also noticed that your posting used the smart quotes for the ADIOcelot definition. This just may be the posting, but in actual script only the standard quote (") should be used.


                        jabrans,
                        After you deselect the original ocelot plugin I think you need to restart homeseer to free-up the port. Then you are able to select if for the ADIOcelot.

                        The View / IRConfig is the homeseer interface to IR learning and device labeling. It is independent of the IR interface selected. It should show up one the com port is established so the plugin will have success at initialization.

                        Comment


                          #13
                          <BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>Originally posted by Michael McSharry:
                          sbessel,
                          &lt;snip&gt;
                          The points defined for the SECUs are numbered from 0 to 15, while the homeseer devices are numbered from 1 to 16. When using setpoint you need to backoff the point number by 1. 16 is out of range.

                          I also noticed that your posting used the smart quotes for the ADIOcelot definition. This just may be the posting, but in actual script only the standard quote (") should be used.
                          &lt;snip&gt;<HR></BLOCKQUOTE>

                          These two fixed it... I can now use the cpuxa reference, I guess I copied and pasted the set statement and it contained the 'strange' quotes.

                          Although I am still puzzled why <pre class="ip-ubbcode-code-pre">hs.SetDeviceStatus "]16",2</pre> doesn't work.

                          Thanks for the help...

                          Comment


                            #14
                            I see what I was doing wrong. In the IR section of Interfaces I didn't have the com port selected. I thought I only selected it in the ADIOcelot plug-in setup but it has to be selected in both places.
                            Thanks, Jabran

                            Comment


                              #15
                              Is there any documentation? Is this the hspi_ocelot.exe that communicates with my Ocelot? I installed mine over 2 years ago and haven't done any upgrading and was wondering if it was finally time to upgrade?

                              -Rupp
                              Isn't Disney World a people trap operated by a mouse?
                              💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                              Comment

                              Working...
                              X