The HA software has been logging "seconds" data from the TED for a couple of days and I've started to do a little bit of post processing on the data. For the most part detecting when the hot water heater kicks on is easy. Below is a snapshot of data that I'm pulling down from the TED and saving. The log has date/time and usage in watts.
03/05/2011 14:34:21, 1362
03/05/2011 14:34:22, 1362
03/05/2011 14:34:23, 1362
03/05/2011 14:34:24, 6897 <-- DHW ON. Load change of ~ 5500 watts
03/05/2011 14:34:25, 6897
This is easy to parse and detect that the water heater came on. But it's not always this simple to detect. Yesterday the water heater came on over a few seconds...
03/09/2011 00:49:59, 2796
03/09/2011 00:50:00, 2796
03/09/2011 00:50:01, 4109 <-- started
03/09/2011 00:50:02, 4109
03/09/2011 00:50:03, 4109
03/09/2011 00:50:04, 4109
03/09/2011 00:50:05, 4109
03/09/2011 00:50:06, 8104 <-- full load
And later in the day it came on while the heat pump decided to turn off. This is a more difficult situation to detect as I have no data to indicate a load change of ~5000 watts. Best I can do is detect the off event and back track and try to guess where the on event occurred.
03/09/2011 07:13:53, 2694
03/09/2011 07:13:54, 5697
03/09/2011 07:13:55, 5697
03/09/2011 07:13:56, 5697
03/09/2011 07:13:57, 5697
03/09/2011 07:13:58, 5697
03/09/2011 07:13:59, 6153 <-- DHW ON, heat pump is shutting off.
I can set up the HA software to detect most of these different "on" events because I know what's on each panel and I know that there isn't another load like the water heater on panel 2. These multi-second on events is why I think that the load profile software within the TED has difficulties and sometimes misses either the on or off event. The profile that it learned was for 5500 watts almost instantly and for most cases this is how the water heater comes on. If the device doesn't come on like that every time, then the TED is going to have issues detecting it.
Detecting multistage loads while dealing with other loads going on/off will be challenging.