Mark, to get connected to the SmartThings ZigBee network your xBee is going to need to be one of Digi’s xBee ZB S2C modules preferably the SMT version. To get data up to the SmartThings cloud you will need to write a custom device type in the SmartThings IDE to send data back in forth. From your device you have a couple of options; one, is you can send simple text strings back and forth (that is what the SmartThings shield does) or two, you can communicate over standard ZigBee clusters. If you go the standard ZigBee cluster route there is a better chance your device will work with other non SmartThings hubs. Here is an article I wrote on connecting an xBee to SmartThings in the January Nuts&Volts. You may also want to take a look at this post on mapping your ZigBee network with Digi’s XCTU. It will explain the security settings you will need to configure on your xBee ZB.
To properly implement ZigBee clusters on your device with an xBee ZB radio you will need to talk with it in API mode. That is going to require a fair amount of code and processor power. Not sure what processor your using but I use the Parallax multi core Propeller and I have published my SPIN xBee API driver in this post.
The ZigBee public cluster library is a list of commands and attributes to facilitate the communications of devices in a standard efficient manner. Think of it as an application layer that spells out how your device should send and receive common commands like on / off, level, temperature, color, etc. If your device sends unique data not covered in a standard cluster pick a cluster close and extend it with vendor specific commands and attributes. Take a look at the documentation for the CoopBoss you can see how I extended several standard clusters to expose my unique commands and data. So I would argue with your above statement and say ZigBee clusters are very well suited for your type of data.
Oh by the way check out Solar-Current.com we make a wind protection kit for wattsun solar trackers.