No announcement yet.

ADIOcelot Plugin

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

    ADIOcelot Plugin

    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

    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
    PR24 1.9.4 Add support to sync the ocelot clock with the pc clock
    PR25 1.9.5 Make interface property comparison case insensitive
    PR26 1.9.5 Rly08 location carries point number rather than unit number
    PR27 1.9.8 Sync Clock with command packing carrying seconds
    PR28 1.9.9 Reporting of X10 traffic sometimes enabled on return from CMAX
    PR29 1.9.11 RLY8 uses the upper rather than lower 8 points
    PR30 1.10.0 HS2 Compatibility
    PR31 1.11.0 Add PlayZoneIR(zone, name)
    PR32 1.11.2 Check for duplicate IR names
    ----------- Above in Updater --------------
    PR33 1.12.1 Added error traps in X10 int sequence
    PR34 1.13.1 Added control to change .interface property from ADIOcelot to/from Applied Digital Ocelot
    PR35 1.13.1 Added HS2 misc setting for callback on SetDeviceValue
    PR36 1.13.2 Removed debug to log from Setio
    ------ above in updater -----------
    PR37 1.13.5 Multistep operation during save, will not save configuration
    ------ above in updater -----------
    PR38 1.14.3 Variable status not updated in HS2 builds after 2041
    ------ above in updater -----------
    PR39 1.14.4 misc property upper bits set in NET conversion
    PR40 1.14.10 remove "0 OR" from setting .misc property
    PR41 1.14.11 remove reference to obsoleted .status property
    Attached Files
    Last edited by Michael McSharry; July 4, 2010, 01:51 PM.

    Originally posted by Michael McSharry
    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.
    Michael this thread sparks a couple of questions. Is this plugin going to have to change for Homeseer 2.0? By making sure this plugin is offered now, will it be conforming to the new Homeseer pricing structure?

    BTW: I really like this plugin and consider it one of my main HA tools!


    **** Do You "Cocoon"? ****


      I have not tested it with the Alpha release, but I expect it to work. In my case I run it as an xap application and I know it will continue to work in that mode. I'm not aware of a new pricing structure for plugins that are currently less than $0.01. If there is a change I will go with the flow.



        I am not sure if you are asking for requirements at this time. Here is a "nice to have", don't know how hard it would be

        Have the plugin sync the Ocelot's clock to the PC time at some interval. The interval could a value that the user provides, or preset. Mine doesnt wonder very far, once a month would be great for me.
        For whatever its worth.



          Can you point me to the message protocol for working with the ocelot clock?




              The example provided looks to be missing a digit of the year, yet the total message byte count including checksum was 51. I implemented 4 bytes for the year and left out one of the trailing zeros. It is scheduled to sync the clock every day at 1 AM.

              Since the Ocelot does not have 1 second resolution I had to set a timer in the plugin to stuff the time at the top of the minute. This makes the operation asychronous to other activities.

              I tested it as an xap node to the extent that the new code is executed and does not appear to break anything. I'll leave it to you to test if it functions as a HS Plugin and if the clock does get set. I can put a test button for testing if you think you need it to try the set clock more often than once a day.
              Last edited by Michael McSharry; January 3, 2005, 07:41 PM.


                Excellent! Thank you! I willi give it a try and check back.

                Thanks again, Michael



                  Hey Michael-

                  It was 1:00 est, and it didnt change. I set my PC clock back early today, about 1/2 hour, and told cmax to set the ocelots time. I then set the PC's clock up to the normal time. I did shut down and restart homeseer after replacing the executable.

                  I waited until 1:03, checked, it was still the old time. Since you saw it working, I see 2 possiblities of what happened:

                  1) Wait and check tomorrow. It may not set local time, and I believe you're on pst. I don't think you would hard code pst, and that is not in the parameters being set, infact I dont think the Ocelot knows what time zone its in. I will check this, but I dont think this is it.

                  2) The executable you posted has an 11/4/03 date around 11 am. The version on the tab says 1.8.0. That information is consistent with property inspection of the new file too. I moved the old file completey out of the homeseer directory. That doesnt jibe with when you made the change. Maybe its not the new & improved one? I figured since this was an "in flight" fix, you might not have updated the version on the tab?

                  I will let you know what I find out tomorrow morning

                  Thanks again, Paul


                    I added a test button and debug messages when the operation is started and the actual sending of the data. It will occur at 1 AM local time or on the next minute when the Set Clock button is pressed. Untested V1.9.1
                    Last edited by Michael McSharry; January 6, 2005, 10:16 PM.


                      Cool. Thanks, I will set it up for tonight.



                        Hmm. Still didnt do it. I saw the button and pressed it, the time didnt change.

                        Can someonelse try the ADIOcelot version above and see if it updates their ocelot clock?



                          Are you getting the messages that indicate that it is trying to update it?


                            No, I'm not. The button presses, thats it.


                              Immediately after the button press a message should appear in the log. If not an intended message, then an error message. Only 1 version has the clock button on the setup tab. If the ocelot is busy at the instant the clock should be set then it will try again at the start of the next minute and the Sync message will appear again. Another message appears at the time it actually sends the data to the ocelot.

                              Button press activates this ....

                              Private Sub aClock_Click()
                              End Sub

                              Public Sub SyncClock()
                              10 On Error GoTo Error_Exit

                              Dim iTimeToNextMinute As Long
                              iTimeToNextMinute = 59 - val(DatePart("s", Now))
                              hs.WriteLog PluginName, "Initiating " & CStr(iTimeToNextMinute) & " second wait for start of next minute to set clock"
                              If iTimeToNextMinute > 0 Then
                              With FrmTimer.ClockSync
                              .Interval = iTimeToNextMinute * 1000
                              .Enabled = True
                              End With
                              End If

                              110 Exit Sub
                              120 hs.WriteLog PluginName, "SyncClock " & Err.Description
                              130 Resume Normal_Exit

                              End Sub