Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: Quick DM development jump start...?

  1. #1
    Join Date
    Jan 2004
    Posts
    361

    Question Quick DM development jump start...?

    Can you provide simple walk through of steps to develop DM usage?

    - Create "Provider"
    - Create "Devices"
    - Update UI code

    I am wanting to update the Ocelot UI to include DM usage.

    Simple example, "Ocelot:SendIR(3,2,1)" can now be "Send IR - Volume up - 3 times"

    I want to enter I/O names, IR names, Variables and Timers into DM then pick them in the Ocelot UI.
    Todd Reed
    Ocelot Automation Rookie

  2. #2
    Join Date
    Dec 2001
    Posts
    11,560

    Default

    Quote Originally Posted by Todd Reed View Post
    Can you provide simple walk through of steps to develop DM usage?

    - Create "Provider"
    - Create "Devices"
    - Update UI code

    I am wanting to update the Ocelot UI to include DM usage.

    Simple example, "Ocelot:SendIR(3,2,1)" can now be "Send IR - Volume up - 3 times"

    I want to enter I/O names, IR names, Variables and Timers into DM then pick them in the Ocelot UI.
    Todd, do you have a working component for the Ocelot?

  3. #3
    Join Date
    Jan 2004
    Posts
    361

    Red face Component...???

    I am laughing to myself... I guess not, if I don't know what it is!

    Maybe hoox does?

    I will look at those directories again for samples...

    (is there any kind of G5 help file yet?)
    Todd Reed
    Ocelot Automation Rookie

  4. #4
    Join Date
    Jan 2004
    Posts
    361

    Default Okay, PLEEEEEEASE!!

    Old method:
    - create Ocelot Serial plugin, in "\plugins\serial\" folder
    - create Ocelot UI in \plugins\treescript\" folder with actions and config
    - make sure Ocelot XML is in UI folder

    New method:
    - ???
    - ???
    - ???

    A simple clue??? That's all I'm asking for....

    Oh heck, can't you just do it for me!!!
    Todd Reed
    Ocelot Automation Rookie

  5. #5
    Join Date
    Dec 2001
    Posts
    11,560

    Default

    Todd,

    I am not sure what the current Ocelot plugin supports...

    But, here is what you want to do...

    1. Once you are connected to the Ocelot you need to have a list of devices. The Ocelot plugin should publish its events using a Publisher class.

    2. The provider is started by the Ocelot plugin. It listens to events from the Ocelot publish. It creates the devices in the the Device Manager using whatever device types it needs.

    3. The provider communicates back with the Ocelot plugin to have it perform actions on devices.

    The HAI Provider might give you a basic idea.

  6. #6
    Join Date
    Jan 2004
    Posts
    361

    Unhappy Sorry, so lost... here I go, starting from zero!!

    Code:
    I am not sure what the current Ocelot plugin supports...
    Serial based plugin that: Send and receive local and remote IR, set and get variables and timers, set I/O relays on/off, send Speak messages.

    Code:
    1. Once you are connected to the Ocelot you need to have a list of devices. The Ocelot plugin should publish its events using a Publisher class.
    Devices - as in IR1, IR2... Var1, Var2, Var3... (item names) or as in Slider bar, On/Off buttons, data entry boxes (kind of like Action UI form items)

    Publisher class? Is there a review of these classes, which ones to use for what...? The Ocelot plugin would be where, in the Plugins folder, or is this the "Component" you were talking about? And where should it be located?

    Code:
    2. The provider is started by the Ocelot plugin. It listens to events from the Ocelot publish. It creates the devices in the the Device Manager using whatever device types it needs.
    Provider is started how? Some kind of Provider call? Ocelot publish is like a config or action item? Example, how do I create a list of IR codes to name and use as devices?

    IR1 = Tuner on
    IR2 = Vol Up
    IR3 = Vol Dn

    Code:
    3. The provider communicates back with the Ocelot plugin to have it perform actions on devices.
    So the actions are coded into the plugin, not in the treescript UI page?

    Code:
    The HAI Provider might give you a basic idea.
    HAI is a DLL type plugin... the only file I see is in \DeviceManage\Providers\
    ?? Nothing in \Luascript\ or \Component\ or \Classes\ But, I will review it!
    Todd Reed
    Ocelot Automation Rookie

  7. #7
    Join Date
    Jan 2004
    Posts
    361

    Default Try again to explain!

    In the ADI family of home automation controllers there are many different types of modules. Touch screens, controllers, remote I/O modules, temp sensing modules (called Bobcats). They can all be connected with a communication bus, a dedicated comm bus 2 wire scheme.

    The Girder connection is via serial, to the "master" controller. So you have a Master controller, and potentially, a slave Controller, remote I/O Modules, and Bobcats.

    The Ocelot plugin we currently have sends commands via serial to the "Master Controller" that look something like this:

    Send Remote IR (this is the command, or Action)
    - Module number (which physical unit# in the ADI system bus)
    - IR number (which memorized IR code to send, EX "Volume up")
    - Repeat times (used for larger volume increases via multiple times IR sent)

    or

    Set Relay (Relay on or off command)
    - Module number (which physical unit# in the ADI system bus)
    - Relay number (which relay number to control, #8 - #15)
    - Value (on or off)

    This method works great in G4, just not name friendly!

    To use DeviceManager, each Ocelot user needs to have the ability to name his or her devices. For example my SECU16 Relay for my spa filter pump is currently sent with "Module #1, Relay #13" and I would like to change the UI to allow me to pick the relay by name, IE "Spa Filter Pump".
    Todd Reed
    Ocelot Automation Rookie

  8. #8
    Join Date
    Jan 2004
    Posts
    361

    Default No help?

    Wow, this looks promising, but with no documentation or support, then developers are kind of stuck...

    Is there a help file coming soon?

    The more I dig, the more questions I have...

    1) What is the difference between a Component and a Provider?

    2) I see an X10 Provider, but it shows up in the Component Manager???

    3) Under DeviceManager folders, there are InfraRed Devices and Controls, what is the difference?

    4) Can anyone define which files and which folders I need to use to impliment the Ocelot plugin?? Read the Ocelot help file for features and UI explainations...

    Todd Reed
    Ocelot Automation Rookie

  9. #9
    Join Date
    Dec 2001
    Posts
    11,560

    Default

    Quote Originally Posted by Todd Reed View Post
    Wow, this looks promising, but with no documentation or support, then developers are kind of stuck...

    Is there a help file coming soon?

    The more I dig, the more questions I have...

    1) What is the difference between a Component and a Provider?

    2) I see an X10 Provider, but it shows up in the Component Manager???

    3) Under DeviceManager folders, there are InfraRed Devices and Controls, what is the difference?

    4) Can anyone define which files and which folders I need to use to impliment the Ocelot plugin?? Read the Ocelot help file for features and UI explainations...

    Hi Todd,

    Its a lot to grasp - and no formal docs have been started.

    Concepts....

    1. Component Manager is a method to implement extensions to Girder - primarily in lua. The component manager providers a framework (see the base class) that all components must follow. Ie. All components must be able to enabled/disabled and must publish their events. Users of components must subscribe to get events from them.

    2. Device Manager provides a framework for controlling and displaying device info. There are core device types that specify exactly how certain devices will behave. Plugins or components export their devices to the DM using a Provider. Each device has controls (hence the devices and controls folders). What this means if you have a light device, you can control it without regard for the underlying technology. ie zwave, insteon, x10 or etc.

  10. #10
    Join Date
    Jun 2005
    Posts
    760

    Default

    Hi Mike, I'm clueless as well. What's the simplest DM device to follow as an example? And what are the Lua file names associated / related to that device?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •