Energy EAGLE Discussion

Plug-ins, scripts, and other software to improve your home automation experience.
nsheldon
Posts: 2469
Joined: Mon Aug 09, 2010 2:12 pm
Location: CA
Contact:

Re: Energy EAGLE Discussion

Post by nsheldon »

Great! Glad to hear it.
Manuelpl
Posts: 7
Joined: Sun Dec 08, 2013 1:32 pm
Location: CA

Re: Energy EAGLE Discussion

Post by Manuelpl »

I ended getting the Eagle , and Installed it last night with 6.0 . Everything went smooth.

Thanks Nathan.


Is there a list for All the Trigger definitions.

I want to create a Trigger where , when my Electrical Consumption hits -400 KW ( Solar Power Energy ) , I can Set an Action to Turn on My Dish Washer.

I assume "Current Load (Kw)" would do the trick , but I want some kind of thresh hold. say from -300 to -400 Watts Triger the Action , and check every 15 mins , Or Trigger only Once ?

I'm afraid of the Trigger going off multiple times when , there is a sudden drop , clouds , etc.

Thanks a bunch for the hard work you put into this.

Manny
nsheldon
Posts: 2469
Joined: Mon Aug 09, 2010 2:12 pm
Location: CA
Contact:

Re: Energy EAGLE Discussion

Post by nsheldon »

Hey Manny.

Glad to hear it's working for you!

So, I'm assuming that by "Electrical Consumption" (which is how much energy you've used so far) you actually mean "Current Load" (which is how much power you're currently drawing). If that's the case, then yes, the "Current Load (kW)" device state would be the one to create a trigger on. You could set the trigger to execute whenever the Current Load drops below -300 Watts (-0.300 kW). In the Conditions for the trigger, you could specify that it should only execute if your dish washer wasn't already on. That way it wouldn't fire if the dish washer were already on. If you only want it to execute once a day, you could add an action to the Actions of the trigger that disables itself once fired. Then create a Schedule to run every day (maybe around 1:00 PM so you know you'll have dishes in the dish washer) that re-enables the trigger. That way, once the Current Load trigger fires, it won't again until the next day when your solar system is producing at least 0.3 kW more power than your house is currently using.
Manuelpl
Posts: 7
Joined: Sun Dec 08, 2013 1:32 pm
Location: CA

Re: Energy EAGLE Discussion

Post by Manuelpl »

Nathan ,
I will have to try that.

Thanks a bunch.
nsheldon
Posts: 2469
Joined: Mon Aug 09, 2010 2:12 pm
Location: CA
Contact:

Re: Energy EAGLE Discussion

Post by nsheldon »

Version 0.9.16 Posted

(See main announcement thread for download link).

Changes from 0.9.16:
  • Fixed a bug that would cause the plugin to crash if the EAGLE was unavailable for some reason.
User avatar
Skiddy
Posts: 149
Joined: Tue May 06, 2008 10:35 am

Re: Energy EAGLE Discussion

Post by Skiddy »

Hi,
Stupid question but where do I set the Advanced Pricing? When I enter the device configure and check the Advanced Pricing option, this is what I get
Last edited by Skiddy on Tue Jun 03, 2014 9:32 pm, edited 1 time in total.
nsheldon
Posts: 2469
Joined: Mon Aug 09, 2010 2:12 pm
Location: CA
Contact:

Re: Energy EAGLE Discussion

Post by nsheldon »

Hi.

The first time you enable the Advanced Pricing option, you have to scroll down within the device configuration to see all the parameters like Limit 1, etc. The next time you edit the parameters, the dialog will open large enough to show all the options.

Hope that helps.
User avatar
Skiddy
Posts: 149
Joined: Tue May 06, 2008 10:35 am

Re: Energy EAGLE Discussion

Post by Skiddy »

Thanks for the quick reply... never thought to scroll down in that window :) :oops:
User avatar
berkinet
Posts: 3306
Joined: Tue Nov 18, 2008 2:08 pm
Location: Berkeley, CA, USA & Mougins, France

Re: Energy EAGLE Discussion

Post by berkinet »

With the latest firmware upgrade, v2.1, it is possible to add entries to the Cloud Provider menu. Each entry is a http url. Once configured, the eagle sends data like:

Code: Select all

FieldStorage(None, None, '<?xml version="1.0"?><rainForest macId="0xd8d5b900057a" version="1.1" timestamp="1416015156s">\n
<InstantaneousDemand>\n  
<DeviceMacId>0xd8d5b90000000ece</DeviceMacId>\n  
<MeterMacId>0x0013500100c1f22a</MeterMacId>\n  
<TimeStamp>0x1bf969b0</TimeStamp>\n  
<Demand>0x0006a4</Demand>\n  
<Multiplier>0x00000001</Multiplier>\n  
<Divisor>0x000003e8</Divisor>\n  
<DigitsRight>0x03</DigitsRight>\n  
<DigitsLeft>0x0f</DigitsLeft>\n  
<SuppressLeadingZero>Y</SuppressLeadingZero>\n
</InstantaneousDemand>\n
\n
</rainForest>\n')
at frequent intervals.

"IF" (big word, I know) the Energy Eagle plugin were to implement a simple html server (about 50 lines if you import SimpleHTTPServer ) the plugin could dynamically update at least some of the states based on pushed data.

Any thought of going in this direction?
nsheldon
Posts: 2469
Joined: Mon Aug 09, 2010 2:12 pm
Location: CA
Contact:

Re: Energy EAGLE Discussion

Post by nsheldon »

Hi Richard.

The custom URL push functionality for the EAGLE is certainly the more efficient and all around better way to go for better near-real-time readings with the Energy EAGLE plugin. However, the current version of Energy EAGLE was never designed to receive those pushed updates so it would require nearly a complete rewriting of the code. It could also cease to function properly (without even more branching code) with pre-2.1 EAGLE firmware. I'm not really ready to commit that much time to the plugin at this point. If you're interested in working on something like that, you're more than welcome to use my existing code, such as it is, to get started. If there is a real interest, I could also put it up on GitHub too.
User avatar
berkinet
Posts: 3306
Joined: Tue Nov 18, 2008 2:08 pm
Location: Berkeley, CA, USA & Mougins, France

Re: Energy EAGLE Discussion

Post by berkinet »

nsheldon wrote:...If you're interested in working on something like that, you're more than welcome to use my existing code, such as it is, to get started. If there is a real interest, I could also put it up on GitHub too.

Thanks for the offer... but, at the moment I am about to take off for 2+ weeks in New Zealand, then I have a back-log of work on my own plugins. So... maybe sometime in 2016 :roll:

BTW, Having looked at the architecture a bit, adding an http listener class to the plugin would be pretty simple, I already have something like 90% of the code. The hard part would be to integrate the pushed updates into the same "state" space as the polled data. Though, that is based on an assumption that you get more data by polling than by the push API, and that may not actually be the case. Possibly, the push only updates changed elements. I really need to read the docs. In any case, I think the plugin could be kept "whole" with a configuration option to run the http listener.
automaton
Posts: 93
Joined: Fri May 23, 2008 8:35 am

Re: Energy EAGLE Discussion

Post by automaton »

Nathan,

OK, I updated to Energy Eagle firmware version 2.2.0.7515, and broke the plug-in.
I'm running Plug-in v9.16 on Indigo 6.1.0

Here are the error messages:

Code: Select all

 Energy EAGLE Error              plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
 Energy EAGLE Error              Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 662, in runConcurrentThread
  File "plugin.py", line 1137, in eagleDeviceData
<type 'exceptions.IndexError'>: list index out of range

  Energy EAGLE Error              plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
  Energy EAGLE Error              Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 662, in runConcurrentThread
  File "plugin.py", line 1137, in eagleDeviceData
<type 'exceptions.IndexError'>: list index out of range

  Energy EAGLE Error              plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
  Energy EAGLE Error              Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 662, in runConcurrentThread
  File "plugin.py", line 1137, in eagleDeviceData
<type 'exceptions.IndexError'>: list index out of range

  Energy EAGLE Error              plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
WITH DEBUG ON:

Code: Select all

 Reloading plugin "Energy EAGLE 0.9.16"
  Stopping plugin "Energy EAGLE 0.9.16" (pid 53685)
  Energy EAGLE Debug              Stopping device: Rainforest Gateway
  Stopped plugin "Energy EAGLE 0.9.16"
  Starting plugin "Energy EAGLE 0.9.16" (pid 53989)
  Energy EAGLE Debug              Initializing Plugin.
  Started plugin "Energy EAGLE 0.9.16"
  Energy EAGLE Debug              Starting device: Rainforest Gateway
  Energy EAGLE Debug              Device outdated. Updating device state list.
  Energy EAGLE Debug              Starting runConcurrentThread.
  Energy EAGLE Debug              eagleDeviceData called.  Device: Rainforest Gateway
  Energy EAGLE Debug              sendCommand called.
  Energy EAGLE Debug              connect called.
  Energy EAGLE Debug              Attempt # 1 to connect to EAGLE.
  Energy EAGLE Debug              Sending command
 <LocalCommand>
 <Name>get_device_data</Name>
 <MacId>******REMOVED*********</MacId>
</LocalCommand>

 to "Rainforest Gateway".
  Energy EAGLE Debug              Reading data from "Rainforest Gateway".
  Energy EAGLE Debug              disconnect called.
  Energy EAGLE Debug              Data returned:
<NetworkInfo>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <Status>Connected</Status>
  <CoordMacId>******REMOVED*********</CoordMacId>
  <ExtPanId>******REMOVED*********</ExtPanId>
  <ShortAddr>0x2bc2</ShortAddr>
  <Channel>25</Channel>
  <LinkStrength>0x64</LinkStrength>
</NetworkInfo>
<LocalCommand>
  <Name>get_device_data</Name>
  <MacId>******REMOVED*********</MacId>
</LocalCommand>
<DeviceInfo>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <InstallCode>******REMOVED*********</InstallCode>
  <LinkKeyHigh>******REMOVED*********</LinkKeyHigh>
  <LinkKeyLow>******REMOVED*********</LinkKeyLow>
  <FWVersion>1.4.48 (6952)</FWVersion>
  <HWVersion>3.2.3</HWVersion>
  <Manufacturer>Rainforest Automation, Inc.</Manufacturer>
  <ModelId>Z109-EAGLE</ModelId>
  <DateCode>20121201EC051052</DateCode>
  <ImageType>0x1001</ImageType>
</DeviceInfo>
<InstantaneousDemand>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <MeterMacId>******REMOVED*********</MeterMacId>
  <TimeStamp>0x1cf807b8</TimeStamp>
  <Demand>0x000703</Demand>
  <Multiplier>0x00000001</Multiplier>
  <Divisor>0x000003e8</Divisor>
  <DigitsRight>0x03</DigitsRight>
  <DigitsLeft>0x06</DigitsLeft>
  <SuppressLeadingZero>Y</SuppressLeadingZero>
</InstantaneousDemand>
<CurrentSummation>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <MeterMacId>******REMOVED*********</MeterMacId>
  <TimeStamp>0x1cf80720</TimeStamp>
  <SummationDelivered>0x03f8f675</SummationDelivered>
  <SummationReceived>0x00000000</SummationReceived>
  <Multiplier>0x00000001</Multiplier>
  <Divisor>0x000003e8</Divisor>
  <DigitsRight>0x01</DigitsRight>
  <DigitsLeft>0x06</DigitsLeft>
  <SuppressLeadingZero>Y</SuppressLeadingZero>
</CurrentSummation>
<PriceCluster>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <MeterMacId>******REMOVED*********</MeterMacId>
  <TimeStamp>0x1c9de9f0</TimeStamp>
  <StartTime>0xffffffff</StartTime>
  <Duration>0xffff</Duration>
  <Price>0x0000001f</Price>
  <Currency>0x0348</Currency>
  <TrailingDigits>0x02</TrailingDigits>
  <Tier>4</Tier>
  <RateLabel>Tier 4</RateLabel>
</PriceCluster>
<MessageCluster>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <MeterMacId>******REMOVED*********</MeterMacId>
  <TimeStamp>0x00000000</TimeStamp>
  <StartTime>0x00000000</StartTime>
  <Duration>0x0000</Duration>
  <Id>0x00000000</Id>
  <ConfirmationRequired>N</ConfirmationRequired>
  <Confirmed>N</Confirmed>
  <Read>Y</Read>
  <Queue>active</Queue>
</MessageCluster>
<MeterInfo>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <MeterMacId>******REMOVED*********</MeterMacId>
  <Enabled>Y</Enabled>
</MeterInfo>
<Threshold>
  <DeviceMacId>******REMOVED*********</DeviceMacId>
  <MeterMacId>******REMOVED*********</MeterMacId>
  <UpperDemand>5.000000</UpperDemand>
  <LowerDemand>-2.000000</LowerDemand>
</Threshold>


  Energy EAGLE Debug              Energy EAGLE version: 0.9.13
  Energy EAGLE Debug              eagleDeviceData received XML from sendCommand:
  Class: <type 'str'>
  Data:
<Data><NetworkInfo>  <DeviceMacId>******REMOVED*********</DeviceMacId>  <Status>Connected</Status>  <CoordMacId>******REMOVED*********</CoordMacId>  <ExtPanId>******REMOVED*********</ExtPanId>  <ShortAddr>0x2bc2</ShortAddr>  <Channel>25</Channel>  <LinkStrength>0x64</LinkStrength></NetworkInfo><LocalCommand>  <Name>get_device_data</Name>  <MacId>0xd8d5b90000000eda</MacId></LocalCommand><DeviceInfo>  <DeviceMacId>0xd8d5b90000000eda</DeviceMacId>  <InstallCode>******REMOVED*********</InstallCode>  <LinkKeyHigh>******REMOVED*********</LinkKeyHigh>  <LinkKeyLow>******REMOVED*********</LinkKeyLow>  <FWVersion>1.4.48 (6952)</FWVersion>  <HWVersion>3.2.3</HWVersion>  <Manufacturer>Rainforest Automation, Inc.</Manufacturer>  <ModelId>Z109-EAGLE</ModelId>  <DateCode>20121201EC051052</DateCode>  <ImageType>0x1001</ImageType></DeviceInfo><InstantaneousDemand>  <DeviceMacId>******REMOVED*********</DeviceMacId>  <MeterMacId>******REMOVED*********</MeterMacId>  <TimeStamp>0x1cf807b8</TimeStamp>  <Demand>0x000703</Demand>  <Multiplier>0x00000001</Multiplier>  <Divisor>0x000003e8</Divisor>  <DigitsRight>0x03</DigitsRight>  <DigitsLeft>0x06</DigitsLeft>  <SuppressLeadingZero>Y</SuppressLeadingZero></InstantaneousDemand><CurrentSummation>  <DeviceMacId>******REMOVED*********</DeviceMacId>  <MeterMacId>******REMOVED*********</MeterMacId>  <TimeStamp>0x1cf80720</TimeStamp>  <SummationDelivered>0x03f8f675</SummationDelivered>  <SummationReceived>0x00000000</SummationReceived>  <Multiplier>0x00000001</Multiplier>  <Divisor>0x000003e8</Divisor>  <DigitsRight>0x01</DigitsRight>  <DigitsLeft>0x06</DigitsLeft>  <SuppressLeadingZero>Y</SuppressLeadingZero></CurrentSummation><PriceCluster>  <DeviceMacId>******REMOVED*********</DeviceMacId>  <MeterMacId>******REMOVED*********</MeterMacId>  <TimeStamp>0x1c9de9f0</TimeStamp>  <StartTime>0xffffffff</StartTime>  <Duration>0xffff</Duration>  <Price>0x0000001f</Price>  <Currency>0x0348</Currency>  <TrailingDigits>0x02</TrailingDigits>  <Tier>4</Tier>  <RateLabel>Tier 4</RateLabel></PriceCluster><MessageCluster>  <DeviceMacId>******REMOVED*********</DeviceMacId>  <MeterMacId>******REMOVED*********</MeterMacId>  <TimeStamp>0x00000000</TimeStamp>  <StartTime>0x00000000</StartTime>  <Duration>0x0000</Duration>  <Id>0x00000000</Id>  <ConfirmationRequired>N</ConfirmationRequired>  <Confirmed>N</Confirmed>  <Read>Y</Read>  <Queue>active</Queue></MessageCluster><MeterInfo>  <DeviceMacId>0xd8d5b90000000eda</DeviceMacId>  <MeterMacId>0x0007810000226b9b</MeterMacId>  <Enabled>Y</Enabled></MeterInfo><Threshold>  <DeviceMacId>******REMOVED*********</DeviceMacId>  <MeterMacId>******REMOVED*********</MeterMacId>  <UpperDemand>5.000000</UpperDemand>  <LowerDemand>-2.000000</LowerDemand></Threshold></Data>
  Energy EAGLE Debug              Parsing Device Data XML from "Rainforest Gateway".
  Energy EAGLE Debug              Parsed data: 
<?xml version="1.0" ?>
<Data>
	<NetworkInfo>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<Status>
			Connected
		</Status>
		  
		<CoordMacId>
			******REMOVED*********
		</CoordMacId>
		  
		<ExtPanId>
			******REMOVED*********
		</ExtPanId>
		  
		<ShortAddr>
			0x2bc2
		</ShortAddr>
		  
		<Channel>
			25
		</Channel>
		  
		<LinkStrength>
			0x64
		</LinkStrength>
	</NetworkInfo>
	<LocalCommand>
		  
		<Name>
			get_device_data
		</Name>
		  
		<MacId>
			******REMOVED*********
		</MacId>
	</LocalCommand>
	<DeviceInfo>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<InstallCode>
			******REMOVED*********
		</InstallCode>
		  
		<LinkKeyHigh>
			******REMOVED*********
		</LinkKeyHigh>
		  
		<LinkKeyLow>
			******REMOVED*********
		</LinkKeyLow>
		  
		<FWVersion>
			1.4.48 (6952)
		</FWVersion>
		  
		<HWVersion>
			3.2.3
		</HWVersion>
		  
		<Manufacturer>
			Rainforest Automation, Inc.
		</Manufacturer>
		  
		<ModelId>
			Z109-EAGLE
		</ModelId>
		  
		<DateCode>
			20121201EC051052
		</DateCode>
		  
		<ImageType>
			0x1001
		</ImageType>
	</DeviceInfo>
	<InstantaneousDemand>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<MeterMacId>
			******REMOVED*********
		</MeterMacId>
		  
		<TimeStamp>
			0x1cf807b8
		</TimeStamp>
		  
		<Demand>
			0x000703
		</Demand>
		  
		<Multiplier>
			0x00000001
		</Multiplier>
		  
		<Divisor>
			0x000003e8
		</Divisor>
		  
		<DigitsRight>
			0x03
		</DigitsRight>
		  
		<DigitsLeft>
			0x06
		</DigitsLeft>
		  
		<SuppressLeadingZero>
			Y
		</SuppressLeadingZero>
	</InstantaneousDemand>
	<CurrentSummation>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<MeterMacId>
			******REMOVED*********
		</MeterMacId>
		  
		<TimeStamp>
			0x1cf80720
		</TimeStamp>
		  
		<SummationDelivered>
			0x03f8f675
		</SummationDelivered>
		  
		<SummationReceived>
			0x00000000
		</SummationReceived>
		  
		<Multiplier>
			0x00000001
		</Multiplier>
		  
		<Divisor>
			0x000003e8
		</Divisor>
		  
		<DigitsRight>
			0x01
		</DigitsRight>
		  
		<DigitsLeft>
			0x06
		</DigitsLeft>
		  
		<SuppressLeadingZero>
			Y
		</SuppressLeadingZero>
	</CurrentSummation>
	<PriceCluster>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<MeterMacId>
			******REMOVED*********
		</MeterMacId>
		  
		<TimeStamp>
			0x1c9de9f0
		</TimeStamp>
		  
		<StartTime>
			0xffffffff
		</StartTime>
		  
		<Duration>
			0xffff
		</Duration>
		  
		<Price>
			0x0000001f
		</Price>
		  
		<Currency>
			0x0348
		</Currency>
		  
		<TrailingDigits>
			0x02
		</TrailingDigits>
		  
		<Tier>
			4
		</Tier>
		  
		<RateLabel>
			Tier 4
		</RateLabel>
	</PriceCluster>
	<MessageCluster>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<MeterMacId>
			******REMOVED*********
		</MeterMacId>
		  
		<TimeStamp>
			0x00000000
		</TimeStamp>
		  
		<StartTime>
			0x00000000
		</StartTime>
		  
		<Duration>
			0x0000
		</Duration>
		  
		<Id>
			0x00000000
		</Id>
		  
		<ConfirmationRequired>
			N
		</ConfirmationRequired>
		  
		<Confirmed>
			N
		</Confirmed>
		  
		<Read>
			Y
		</Read>
		  
		<Queue>
			active
		</Queue>
	</MessageCluster>
	<MeterInfo>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<MeterMacId>
			******REMOVED*********
		</MeterMacId>
		  
		<Enabled>
			Y
		</Enabled>
	</MeterInfo>
	<Threshold>
		  
		<DeviceMacId>
			******REMOVED*********
		</DeviceMacId>
		  
		<MeterMacId>
			0x0007810000226b9b
		</MeterMacId>
		  
		<UpperDemand>
			5.000000
		</UpperDemand>
		  
		<LowerDemand>
			-2.000000
		</LowerDemand>
	</Threshold>
</Data>


  Energy EAGLE Error              Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 662, in runConcurrentThread
  File "plugin.py", line 1137, in eagleDeviceData
<type 'exceptions.IndexError'>: list index out of range

  Energy EAGLE Error              plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
  Energy EAGLE Debug              Starting runConcurrentThread.
  Energy EAGLE Debug              eagleDeviceData called.  Device: Rainforest Gateway
  Energy EAGLE Debug              sendCommand called.
  Energy EAGLE Debug              connect called.
  Energy EAGLE Debug              Attempt # 1 to connect to EAGLE.
  Energy EAGLE Debug              Sending command

nsheldon
Posts: 2469
Joined: Mon Aug 09, 2010 2:12 pm
Location: CA
Contact:

Re: Energy EAGLE Discussion

Post by nsheldon »

Hi. Thanks for the report.

Regrettably, I probably won't be able to fix this. It looks like Rainforest Automation has changed the XML output from pervious firmware versions, which is likely the cause of this error. Since we recently moved to an apartment which doesn't have a SmartMeter nearby, I no longer own an Eagle and I can't update the firmware to test out code changes in order to fix the bug.

So, this means you have 2 options, as I see it. You can either ask Rainforest Automation to restore your Eagle to the last firmware version (they should be able to do this remotely), or you can try to fix the Python code in the plugin yourself (or with the help of others).

Sorry I'm not able to fix this one for you.

Regards,
Nathan
automaton
Posts: 93
Joined: Fri May 23, 2008 8:35 am

Re: Energy EAGLE Discussion

Post by automaton »

Nathan,

OK, thanks. Any clues or suggestions from what you see in the log that might point me to the error?
automaton
Posts: 93
Joined: Fri May 23, 2008 8:35 am

Re: Energy EAGLE Discussion

Post by automaton »

Nathan,

Also if you have the old docs on the Rainforest XML interface, that would help me out. I can't find the "LocalCommand" XML interface specs anywhere on the rainforest site, only a newer API spec.
Post Reply

Return to “Nathan Sheldon Software”