Data collection from HAI Omni - recommendation

szoostrom

Member
I am interested in automatically collecting hourly data from temp and humidity sensors connected to an HAI Omni ProII. I want to store the data and be able to produce a 1 year history file.
Can someone recommend the best way to do this ? From what I see with the Omni, my only option is to log data and then manually collect it - too inefficient.

I have an Omni Pro system with security sensors and Leviton X10 light but no temp/humidity yet.

I plan to add HAI temp/humidity sensors within my house to see how things vary away from the thermostats.

I guess there's software to pull data off the Omni (as long as computer is connected) but I'm not sure which is best and doesn't have a lot of extras that I don't need.

I realize that I could get a standalone data collection system, but I'd prefer to do this through the Omni and develop knowledge for potential future applications.

Thanks for any advice.
 
I would love to see how to do this as well.

The OMNI Pro doesn't have any data logging capabilities so doing this is going to require an external program polling the data then storing it somewhere. While this isn't a complex task in itself, polling the Omni is not a trivial process, therefore you typically only find this function on full home automation programs which probably give you more complexity than you would like. Homeseer and CQC can do it, as probably can most other programs that can connect to an Omni, but there isn't an Omni logger only program. Id suggest it to HAI as a possible future feature.
 
Id suggest it to HAI as a possible future feature.
This is a long overdue feature. I suggest they have the capability to set a serial port as a logging/status port and echo all system changes in real time to the port. I had this on my other HA system forever and it is such a useful feature. There really is no reason you should have to continously poll for status changes.
 
This is a long overdue feature. I suggest they have the capability to set a serial port as a logging/status port and echo all system changes in real time to the port. I had this on my other HA system forever and it is such a useful feature. There really is no reason you should have to continously poll for status changes.
This would be a good feature but you might also want to have it do the logging to the ethernet interface and send it to a computer.
 
This would be a good feature but you might also want to have it do the logging to the ethernet interface and send it to a computer.

Since you can read all the parameters in PCAccess over the ethernet, this should be possible.

Just a small daemon that copies the paratmetrs at some time interval to a text file would work.
 
You can do this with Elve. I wrote an Elve plugin that will poll arbitrary fields and store persist that data to disk. Averaging over time periods and removing old entries -- sort of how RRD works. I also wrote a generic google graphing driver if you want to graph the collected data.
 
Thanks for the input and for confirming that the capability doesn't exist within the HAI system. At this time, CQC, Homeseer and Elve are overkill for my application (as mentioned) but may be appropriate in the future as I learn to do more with the Omni.

I will pass a request along to HAI.
 
Since you can read all the parameters in PCAccess over the ethernet, this should be possible.

Just a small daemon that copies the paratmetrs at some time interval to a text file would work.
Whether it is serial or TCP/IP, the problem remains that you need an active program continously polling to get the data using the SDK API's. A simple ASCII reporting mode that sent data real-time during system events/changes would make interfacing a whole lot easier.
 
I'm using the HS application HAI plugin to collect data on the temps/humidity sensors from the HAI Thermostat and two sensors. This info goes to the same DB as the 1-wire stuff (2 X 9097's, 2 Temp-08's and 1 Temp-05). The availablity of this data allows for graphing or HA events based on temperature and humidity.
 

Attachments

  • Temps-1.jpg
    Temps-1.jpg
    209.3 KB · Views: 23
  • Temps-2.jpg
    Temps-2.jpg
    86 KB · Views: 17
  • Temps-3.jpg
    Temps-3.jpg
    167.5 KB · Views: 22
With the ELK M1, I had an OpenWRT based router connecting to the panel via TCP/IP and log data that way (wrote a PHP based driver). Does the HAI panel let you send ASCII messages to serial ports, using variables in the message? It's definitely doable, if you don't mind the programming ;)
 
Yes it is.

Using the build-in Pro-Link protocol in HAI controllers, you can send and receive ASCII text strings over the serial interface. Pro-Link is programmable, so you can custom build the ACSII strings based the defined protocol(s) of otherThe
Pro-Link protocol allows you to send and receive predefined text messages through an HAI serial interface. Each message can be up to 15 ASCII characters long. Several messages can be strung together and sent as one long message. Messages can be sent using any system trigger (timed, event, or macro) just like any other item in the controller.
systems.



Here's their stuff for the thermostats.

Through the serial interface built onto the OmniLT, Omni II, Omni IIe, OmniPro II, Lumina, or Lumina Pro controller. The
serial interface supports both RS-232 and RS-485 connections.

The RS-232 interface is configured as DTE (data terminal equipment). This is the same configuration as provided on a typical
personal computer.

Data is transmitted asynchronously using standard nonreturn-to-zero (NRZ) format (one start bit, eight data bits, and a single stop bit)
at up to 9600 baud.

MESSAGE FORMAT
The Omni-Link protocol is a binary protocol. That is, one byte of data is sent as a single character whose hex value is 0x00 through
0xFF.
Messages in the Omni-Link protocol can use either the “addressable” format or the “non-addressable” format.
Any HAI controller that supports the Omni-Link protocol can use the non-addressable format. The non-addressable format allows
only one master device and one HAI controller on the communication link.

LOGIN
Start character 0x5A
Message length 0x05
Message type 0x20
Data 1 first digit of code
Data 2 second digit of code
Data 3 third digit of code
Data 4 fourth digit of code
CRC 1 varies
CRC 2 varies
Each of the digits of the security code must be sent as the numeric value of the digit, 0x00 through 0x09.


REQUEST THERMOSTAT STATUS
This message requests the HAI controller to report the status of a group of thermostats. The status reported for each thermostat
includes whether the thermostat is communicating with the controller, whether a freeze condition has been detected by the thermostat,
the current temperature, the heat and cool setpoints, the system mode, the fan mode, and whether the thermostat has been placed in
hold mode. The status for a maximum of 26 thermostats may be requested at one time.

Start character 0x5A
Message length 0x03
Message type 0x1E (0x45 for extended)
Data 1 starting thermostat
Data 2 ending thermostat
CRC 1 varies
CRC 2 varies
Expected reply THERMOSTAT STATUS (EXTENDED THERMOSTAT STATUS)

REQUEST CURRENT TEMPERATURE
Start character 0x5A
Message length 0x03
Message type 0x2A
Data 1 starting temperature zone
Data 2 ending temperature zone
CRC 1 varies
CRC 2 varies

CURRENT TEMPERATURE
Start character 0x5A
Message length number of temperature zones + 1
Message type 0x2B
Data 1 current temperature of first temperature zone
Data 2 current temperature of second temperature zone

Data n current temperature of last temperature zone
CRC 1 varies
CRC 2 varies
 
This is a long overdue feature. I suggest they have the capability to set a serial port as a logging/status port and echo all system changes in real time to the port. I had this on my other HA system forever and it is such a useful feature. There really is no reason you should have to continously poll for status changes.

Many years ago while talking to the HAI reps at EHExpo noticed a very rigid conservative "stance" relating to the decision process as to what "features" would be added to the panel.

I got the impression as if there were only 1-2 key players in that decision process.

Its the bottom line that is mostly of concern; not that HAI doesn't listen; the purpose is to make money and they do not really cater to the DIY person (s).

On the other hand I got a totally different impression from Elk. (hence the results);BUT we don't really know what's going on there today?

Personally though best collection of the HAI/Elk DIYers and folks willing to play with the said panels is here on this forum. Thank you Dan for a great website!

I believe that the market is changing really fast now and only time will tell what the end results will be.
 
I did this with HAI's .Net SDK. I have a console program run every 10 minutes on my WHS logging temp and events to a SQL database for long term storage and analysis.

This was discussed extensively here, I also posted my source code:
[url="http://www.cocoontech.com/forums/index.php?showtopic=15601] Forum Post[/url]
 
There was a C library posted on Worthington Distribution Forums a few years ago that you could compile as a binary on Linux/Unix and poll your OmniPro panel to pull data. I managed to compile it on FreeBSD a while back and used it to log my thermostat temp in MRTG. I'll dig around to see if I can find it again...


Here's the thread, looks like there's a link to developer's site on the second page:
http://www.worthingtondistribution.com/cgi-bin/solutions/yabb2/YaBB.pl?num=1245166253/0
 
Back
Top