Announcement

Collapse
No announcement yet.

Ethernet I/O board for HomeSeer using xAP

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

  • DougLorenz
    Guest replied
    Ok, I have received a copy of the software... Thanks...

    Leave a comment:


  • DougLorenz
    Guest replied
    Ok, minor issues... The NetIOM seems to connect up ok, it was immediately recognized by mcsxap, and I am able to accept devices into Homeseer. However, I am not able to fully setup the device since Phaedrus Limited sent the installation software on a 3.5" floppy disk, which turned out to be unreadable after I was finally able to find a floppy drive.

    Plus, they don't have the software on their website...

    If anyone has one of these, and is able to email me the software, it would be greatly appreciated... I sent an email to Phaedrus, but don't know how long it will take for them to respond...

    Leave a comment:


  • DougLorenz
    Guest replied
    I have received the NetIOM-xAP module the other day, and I grabbed an old 12v power supply from work. I'll try to connect everything up tonight and see if it works...

    Leave a comment:


  • CouchPotatoe
    replied
    The BSC schema is really flexible and can be used and abused to accomodate almost anything. Indeed it is possible to model very complex devices like say an AV amplifier perhaps. High end automation controllers like Crestron and AMX both use the same 'basic' device types as BSC.

    One of xAP's great stregths is that ideally you should abstract all devices back to a general functionality - in this example perhaps whole house audio or AV rather than BSC. BSC does offer basic discoverability and plug and play type advantages as it is such a widely supported schema, but shoehorning things into BSC sacrifices the ability to later just exchange devices and everything still works eg a Technics Amp exchanged with a Sony Amp.

    Serial is really such a case as it was shoehorned into BSC 'TEXT' devices for the Netiom. It was envisaged it would be used for commands/responses for serial control of an attached appliance rather than as a full transport layer. As Michael mentioned xAP uses UDP which is very fast but lacks guaranteed delivery and error correction, and crucially pacing. I think for a high volume of data transfer these would be desireable and a TCP approach would be preferable. The pacing is particularly an issue as your speed on RS232 is so many times lower than Ethernet and we have no flow control easily provided. Incoming serial data presents no problem.

    Kevin

    Leave a comment:


  • petez69
    replied
    I'm using a number of Elexol ethernet boards being triggered by UDP packets, on a local lan, its 100%.. I have some lights pointing at my fountain in the front yard and every night for the last 6 months, they have come on without fail.....well it DID stop one night when the 24 port switch died :-)

    Pete

    Leave a comment:


  • Michael McSharry
    replied
    With a 10 MB LAN rate vs. a 10K serial rate and a 20 microsecond delay from the netiom there should be no perceivable difference. xAP runs on UDP which is the faster IP delivery mechanism. TCP is used by the Lantronix and other Serial/IP adapters has additional communication overhead. It also means that UDP is not 100% assured delivery, but in a local LAN the delivery success rate does approach 100%.

    Leave a comment:


  • DougLorenz
    Guest replied
    Originally posted by CouchPotatoe
    <edit><edit>The serial port is implemented as a BSC 'TEXT' device and can be setup either as an ASCII stream or a binary stream - xAP protocol supports transmisson of binary data using the ! pling character and ASCII coded hex pairs.

    data=ABC is the same as data=!414243

    The serial port can report and send based on either a specific terminating character or a configurable pause in the data - if there is no terminating character then the pause is the solution.</edit></edit>
    So in theory, if mcsSprinklers were modified to use a BSC 'TEXT' device as a serial port, as long as the device implemented the BSC protocol properly, which the NetIOM does, the software shouldn't need to be modified separately for every xAP ethernet serial device...

    That's probably a moot point at this time since I haven't heard of any other xAP ethernet serial ports. However, I can imagine this sort of thing could open up a lot of other opportunities for creating redundancy with devices that are currently connected to the home automation computer serially...

    Perhaps a bit of I/O code that plugin developers could use to implement xAP serial ports would help encourage them to add the functionality.

    My only question on this is over speed... With sprinklers, nobody cares if the command process adds a second or so of additional delay in implementing the command or reviewing the feedback, but for lighting it would be an entirely different issue. How long of a delay would be created in making the serial data encapsulated within a xAP packet available to a plugin compared to a direct serial connection?

    That would determine what types of devices could be moved to a xAP serial port...

    Leave a comment:


  • HS Guy
    Guest replied
    We selected it for use in a product we sell. We use two outputs of the 9212 to remotely reboot (via Internet) a DVR and a surveillance camera power-supply. We don't use the inputs (yet).

    Leave a comment:


  • BraveSirRobbin
    replied
    Originally posted by HS Guy
    Check out the Aviosys IP Power Network Remote Controller 9212.
    Have you yourself used this product with success? I tried the AVIO9100 camera server (believe that was the product, it had four video inputs so you could tie them to an ethernet interface).

    Pure garbage would be a comlpiment to that product.

    Sort of jittery about anything AVIOSys makes since then.

    Leave a comment:


  • CouchPotatoe
    replied
    Hi - I can probably help here as I created the xAP BSC schema and I also helped Phaedrus with their implementation on the xAP Netiom - although all the hard work and coding was theirs. ( I have no commericial involvement here).

    I have asked Phaedrus to place the xAP Netiom documentation on their website but in the meantime I have a copy here that I will happily send to anyone who needs it. It contains complete xAP schema information and examples.

    <edit>EDIT: Now attached to this post - as a zipped Microsoft Word document

    <edit>The xAP Netiom implements the xAP BSC schema on all the ports it offers including the serial port. It additionally offers a second Netiom specific schema. One of the fundamentals of BSC is that each input or output generates a single xAP message describing its state - the other Netiom schema allows reporting of several related I/O functions all grouped in one message which offers you a choice of using whichever you prefer. You can use both should you wish.

    BSC originates 'events' based on changes on those inputs automatically , it does not require polling in any way from xAP - although you can at any time ask for the status of any input or output. (The internal electronics of the Netiom do still scan all inputs for changes, but it is a very fast scan so to all intents and purposes it is transparent). You can also have the Netiom cycle through its inputs periodically sending an 'info' message that just updates you on the current state of its I/O. It might complete one cycle of these say every 10 minutes or so . This is on|off|period configurable. At power on the Netiom instantly updates you on all its I/O.

    The serial port is implemented as a BSC 'TEXT' device and can be setup either as an ASCII stream or a binary stream - xAP protocol supports transmisson of binary data using the ! pling character and ASCII coded hex pairs.

    data=ABC is the same as data=!414243

    The serial port can report and send based on either a specific terminating character or a configurable pause in the data - if there is no terminating character then the pause is the solution.

    So the board effectively provides realtime 'events' when any of its I/O changes state, and can be interrogated at any time, it does not require polling. Each change is reported as a single UDP packet which is very lean. Additionally it can be set up to report 'info' message periodically. The normal usage would be ...

    At startup of you application ask the device for the state of all its I/O and then track change 'events' - for added assurance you can monitor 'info' messages and check they match your expected states. At any time you can 'query' the Netiom for any or all of its I/O. You can query groups of functionality like 'all the inputs' should you wish. The mi4 HomeSeer xAP plugin handles BSC as a special known case and operates exactly this way which is ideal for Homeseer.

    </edit></edit>The Netiom has an inbuilt (customisable) web server that can display and control its I/O as well.
    <edit><edit>
    Any other questions ..ask away - I use several Netioms here with applications in controlling my heating and pumps, my alarm system, counting pulses from my utiility meters and controlling my AV amplifier.

    Kevin

    PS Doug - you are right in that the serial implementation will just return you the same stream of data as was sent - within a xAP packet - you will need to add some logic to interpret this.

    PPS For completenes there are some advanced functions... Because you can name each input you can use wildcarding to group say 3 inputs, 2 outputs and an analog input into a named group and address that directly should you wish. Netiom fully supports wildcarding. You can also disable any I/O you are not using to reduce message traffic.

    For the analog inputs a common issue is jitter or noise or a constantly changing input which means that the Netiom is constantly sending 'event' data. The Netiom allows a hysteresis to be set on each input such that it only reports changes when a certain degree of change has been reached - this permits things like only reporting should the input change by +/- 10% . At any time you can still query the exact input level of course , and the periodic updates are correctly reported as either 'event' or 'info'. A 'number of counts' change can be applied to the counters too , allowing the counters to be used to divide changes on an input before reporting. The analog inputs & counters have thresholds too at which point they change state from OFF to ON allowing you to trigger based on exceeding a pre set value.</edit></edit>
    Last edited by CouchPotatoe; December 15, 2007, 06:39 AM.

    Leave a comment:


  • petez69
    replied
    Guys

    What I would like to know about this board is how the inputs are managed ?
    Does the plugin have to scan the inputs or is there a port scanner on the board that fires off xap events to the plugin ?

    Just curious to know how this works ?

    Cheers..Pete

    Leave a comment:


  • DougLorenz
    Guest replied
    The NetIOM device claims that it can communicate with either ASCII or binary. I've got the device on order, I'll post again when I receive it and hopefully be able to figure everything out.

    Just going through the steps to research this I am learning a good deal about xAP, and I am definitely getting interested.

    Leave a comment:


  • Michael McSharry
    replied
    Based upon your posting I know how the serial port operates. It uses the same BSC schema that the IO points use.

    There will be two challenges with it for the Rain8Net. The first is that the Rain8Net does not provide any "end-of-line" termination character. A timeout should work since mcsSprinkleres already makes no expectations about when or in what block size the character stream is delivered.

    The second is that the xAP standard indicates that only printable ascii can be used in the messages. The Rain8Net uses binary transmission so many of the characters will not be printable. I do not enforce the ascii-only spec in mcsSprinklers or in xapmcsHub. I do not know know if the netiom will or not.

    If want to try to make this work I'm willing. It leaves the burden of testing with you. I would buy a netiom, but I already have an underutilized ocelot for IO and I use Lantronix for the serial.

    The other thing to be aware is that last year's production of Rain8Net have a higher voltage requirement for the RS232 than the new production. One needs to look at the netiom levels for the serial for compatibility.

    Leave a comment:


  • DougLorenz
    Guest replied
    As I look it over, it appears that while the software solution xapmcsRain8Net is designed to report the functions of the Rain8Net device individually to Homeseer, using a NetIOM would only allow the system to communicate a data stream with a Rain8Net, and it would require some additional logic to make that data stream recognizable as devices.

    Something like this could be done inside of mcsSprinklers, which already has that logic to directly communicate with a serially connected Rain8Net. This won't offload any of the management problems from the computer running mcsSprinklers, but it should then allow for redundancy without a need for multiple Rain8Net devices...

    Leave a comment:


  • DougLorenz
    Guest replied
    More info...

    One review of the NetIOM-xAP shows an example of sending a serial command through xAP to the device and out the serial port... Here is what it states:

    Since I don't yet know enough about xAP, I don't know if this is helpful... However, the article states that "The Netiom slots straight into a xAP network using the Basic Status and Control (BSC) schema and has some additional Netiom specific commands and responses."


    Leave a comment:

Working...
X