Jump to content

Energy Monitoring: Circuits, Plugs, Interface


ccclapp

Recommended Posts

To whom it may concern :-)

 

There is a lot of interest in this effort. This thread has 6500 views. We are getting close but not there yet. This is subtle encouragement for the smart people reading/considering and the timing thereof...

 

Thanks all!!!!!!!

Link to comment
Share on other sites

To whom it may concern :-)

 

There is a lot of interest in this effort. This thread has 6500 views. We are getting close but not there yet. This is subtle encouragement for the smart people reading/considering and the timing thereof...

 

Thanks all!!!!!!!

Are you still in need of additional explanation or were you able to get what you wanted between what I and Teken previously posted?

 

-Xathros

Link to comment
Share on other sites

Are you still in need of additional explanation or were you able to get what you wanted between what I and Teken previously posted?

 

-Xathros

 

Thanks for asking.

I believe Teken's link/info gives me what I need relating to your screenshot #1 in your post above.  My question(s) remain regarding your screenshot #2.  I've quoted that question here:

 

 

Hi Xathros.  

 

trying to move forward to getting ISY smart switch, etc data up to SEG, where it can merge with my GEM/DashBox data streams. 

 

[EDIT Screenshot #1 answered by Teken's link]

From your screenshots #1 I can see/understand the basics of sending something to SEG.  I gather in the Body one puts one's SEG site, and then a string of ISY info to specify the IDY device or variably being sent. Would you mind spelling out those ISY components and how one sees them on ISY?  Also, do corresponding devices need to be pre-configured as SEG or is that done automatically as in the case of using the Vera plugin or a DASH (with those one enters one's SED credentials and Token etc and the devices auto-populate.

 

[EDIT: I still do not understand how to do this and what it is showing]

As to screenshot #2 (and likely parts of SC #1) being on ISY v4x [EDIT: I am now on v5.02] I am not familiar with "variable substitution" etc.  I have read about Nodes/Polyxxxxxt Nodes and looked at the threads on io_guys NodeLink etc, but not yet implemented [EDIT:  I have successfully configured Nodelink w my RPi and ISY, but that is not relevant to this question].  Thus if possible would you state those steps based on no very little v5 experience/familiarity.  To save you from writing a novel (I will do that when mission accomplished on this), you can give the skeleton and I can try and reply with specific brick walls as I find them.

 

 Thus, I think we are talking about how to get energy data from smart plugs etc into variables on ISY v5.x.  I can still use help with that.

 

Thanks

Link to comment
Share on other sites

Thanks for asking.

I believe Teken's link/info gives me what I need relating to your screenshot #1 in your post above.  My question(s) remain regarding your screenshot #2.  I've quoted that question here:

 

 

 

 Thus, I think we are talking about how to get energy data from smart plugs etc into variables on ISY v5.x.  I can still use help with that.

 

Thanks

You bet.

 

Here is the process:

 

1) Create a variable for the data to go into.  Use either a State or Integer variable depending on your needs.  If you need a change in value to trigger a program(s) then use a state otherwise, Integer is fine.  If the data you plan to capture supports values to the right of the decimal point, set the precision of the variable by right clicking the variable after you create it and select precision then set appropriately.

 

2) Make a note of the Variable's ID # from the left hand column on the define variables screen.

 

The substitution variable used in a network resource to set a variable's value or in a custom notification takes this form: ${var.x.y} where x is either 1 (Integer) or 2 (State) for the variable's type and y is the variable's ID# from above.  So Integer Variable #5 is represented by ${var.1.5} and State Variable #15 is represented by ${var.2.15}.  Note the use of Braces { } not Square [ ] or parens ( ).

 

In 5.X, you can get a device's value into a variable in several ways.  The easiest is directly:


If
        'Office_SLD' Status is not Off
 
Then
        $i.OfficeSLDManualState  = 'Office_SLD' Status 
 
Else
   - No Actions - (To add one, press 'Action')
 

However, this will not work for ZWave devices currently.  Thus the need to use a network resource with variable substitution to get the value into a variable:

VoltageMonitor - [ID 0014][Parent 0003][Not Enabled][Run At Startup]

If
        From    12:00:00AM
        To      11:59:50PM (same day)
 
Then
        Repeat Every  10 seconds
           Set 'Office / ZW 001 Energy Meter' Query
           Wait  5 seconds
           Resource 'OfficeLineVoltage2VAR'
 
Else
   - No Actions - (To add one, press 'Action')
 

Here is the resource rule referenced above:

post-1150-0-89077200-1455643198_thumb.jpg

 

The variable substitution in this one references my SmartEnergyPlug's Line voltage monitor.  Here is how you build this substitution variable:

 

First, get the ZWave ID for the device in question.  In my case, the SE Plug's Energy meter is ZW001_143:

post-1150-0-07161300-1455643728_thumb.jpg

Then dump it's nodes via the /rest interface by browsing to:

 

http://<your.isys.ip.address>/rest/nodes/ZW001_143 obviously providing your IP address and the Node ID for YOUR ZWave energy meter:

 

Here is the output from mine using Firefox:

post-1150-0-20212700-1455643912_thumb.jpg

 

Then assemble the substitution var using the portions of the node dump:

${sys.node.NODE_ID.SUB_NODE.raw} where the Node ID in my case is ZW001_143 for the Energy meter and the SUB-NODE is CV for the Current Voltage.  the .raw at the end strips any formatting like the V for volts, or the Degree symbol for temps etc returning just the raw value.  

 

Notes on all of the above:

Any resource rule that is addressing your ISY for setting vars will need an authorization header addred using your ISY's username and password.  To add this, click the ADD button below the headers section, pick authorization from the drop down list and fill in your user/pass.

 

You will be prompted for the same user and pass when dumping the node data via the /rest interface.

 

If you wanted to go direct to SEG rather than to a variable first, then this resource rule would be the ticket:

post-1150-0-13078300-1455642705_thumb.jpg

 

Hope that covers it.

 

Let me know if you need additional clarification.

 

-Xathros

Link to comment
Share on other sites

Below is a ling to a post describing two very interesting monitoring/sensor/communication tools, which might be be integrated with ISY and allow for significant but very inexpensive additional sensor/energy/device integration.  They are called MySensors and Domoticz, respectively.  The link goes to a dedicated topic on this. Are any of you familiar with either.  I don't know if any of you are familiar with these??  

 

http://forum.universal-devices.com/topic/18214-domoticz-and-mysensors-another-world-of-possibilities-with-isy/?p=167437

 

Thanks

Link to comment
Share on other sites

SUCCESS!!!!!

 

I am now sending ISY zwave and/or Insteon "smart" energy device data to SEG.  Special thanks to Xathros and also to Teken your your how-to's on different aspects of the proceedure!

 

I will generate a dummy-guide for this (which even I would be able to follow if starting fresh), but want to work out a few kinks/details, so that will follow in a few days...

 

In the meantime, THANKS to all on this thread who have helped achieve SOLUTION 1.  As discussed above, SOLUTION 2 will be making this much more automated and robust with an intermediary of NodeLink and/or IsyHelper...looking forward to that...

 

The next post addresses a specific issue in handling the incoming data at SEG.  Im making that another post to not take away from this milestone.

 

THANKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Link to comment
Share on other sites

ISSUE:

 

As stated above we can now send zwave/insteon "smart plug" and other energy reporting device info to SEG from ISY.  The z-wave devices report current power (watts) and energy (kWh).  There is no issue with the power (w) stream.  HOWEVER, I belive the kwh is reported as total to date, meaning total usage to date is send in every update, vs just the small incremental delta that is sent from a GEM/Dash and some other controllers/monitors.

 

My question is: how to deal with this for SEG.  I would think there are two basic approaches:

1) Somehow use SEG settings to deal with the repetitive total kwh being sent (but how and what settings?)

2) Only send current power (W) data and have SEG translate that into kwh data.  This could possibly be via a single stream or by sending a duplicate stream of the W data with an E in the transmission packet.  Again there would likely be SEG configuration settings I don't fully understand.  

I have read threads on the SEG forum discussing settings for correct kwh readings from a GEM, but I dont think these directly relate to this issue.  For reference links are below...

https://smartenergygroups.com/forums/14-Getting-Started/topics/289-Turning-watt-hours-into-kwh

https://smartenergygroups.com/forums/14-Getting-Started/topics/368-Displaying-Kwh

 

If anyone has any insights or advice advice that would be greatly appreciated.  I have asked at SEG and will see if I get a reply and report back.  I will also ask this in the z-wave forum in case other users have run into this.

 

EDIT:  I just received this reply from Sam, founder of SEG:

 

 

Hi,

There is no specific setting in SEG for this.  Both kinds of functionality were prototyped a long time ago, and found to have issues, particuarly converting W in to Wh as this is dependent on a time period - for which this is not reliably known between data points and the device can go offline, causing havoc in the calculations!

For subtractive processing, there are other problems as well.

The best advice is to calculate the subtraction on site before sending this data to SEG, that way you are in control of the subtraction processing and getting this right.

Hope this helps!

Sam, @samotage

 

Is there any guidance on being able to do calculations on the ZW ISY data before sending to SEG.  I believe the idea is to send change-in-kwh vs total kwh to SEG , close but no cigar, yet...

Link to comment
Share on other sites

ISSUE:

 

The z-wave devices report current power (watts) and energy (kWh).  There is no issue with the power (w) stream.  HOWEVER, I believe the kwh is reported as total to date, meaning total usage to date is send in every update, vs just the small incremental delta that is sent from a GEM/Dash and some other controllers/monitors.

 

My question is: how to deal with this for SEG.  I would think there are two basic approaches:...

 

EDIT:  I just received this reply from Sam, founder of SEG:...

 

Given his reply, is there any guidance on being able to do calculations on the ZW ISY data before sending to SEG.  I believe the idea is to send change-in-kwh vs total kwh to SEG , close but no cigar, yet...

 

[EDIT: I am working through this ok, so no need to reply at this time.  I will correct update this myself in a bit...]

 

The following is my concept for sending Energy (kWh) data to SEG by doing calculations to variables on ISY.  This is an interim post to confirm the concept is sound…

 

Goal: have ISY send SEG the CHANGE (delta) in kwh from time 1 to time 2.

 

Naming convention:

- zw1 = zwave “smart” energy device

-kwh1 = the energy (kwh) value of zw1

-v1 = variable 1

-nrVS = network resource, which populates v1 with kwh1 (by means of “variable substitution”)

-nrSEG = network resource, which sends data to SEG

-t1 = time 1

-t2 = time 2

 

Conceptual Method:

1)      Poll zw1

2)      Invoke “-“ nrVS (which populates v1 with the negative value of kwh1  at t1)

3)      Wait 1 hour (or any desired period)

4)      Poll zw1

5)      Invoke “+“ nrVS (which adds to v1 the positive value of kwh1  at t2) (yielding an ending value for v1 equal to the CHANGE in kwh between t1 and t2 i.e. the watt-hour value for one hour)

6)      Invoke nrSEG (which sends to SEG the value of v1 at t2) (which was the goal)

7)      Set v1 = 0

8)      Repeat

 

The above SHOULD only require:

2 x network resources (1 for variable substation within ISY and 1 to send to SEG)

1 x variable

1 x program

 

Do I have this conceptually correct?

 

[EDIT: I am working through this ok, so no need to reply at this time.  I will correct update this myself in a bit...]

Link to comment
Share on other sites

  • 5 months later...

Did this thread just DIE on Feb.20?

(or is there more on another thread?)

Welcome back Fred!

I don't follow it but haven't seen anything similar to it. It's been a quiet vacation time here with very few conversations going on.

Link to comment
Share on other sites

  • 4 weeks later...

Currently, you can use the network module on one ISY to access the rest interface on a second ISY on the same network or external network if properly configured. This is one way communication only. In the upcoming V5.X firmwares, it has been said that the network module will gain 2 way capability. That in conjunction with the upcoming enhancements to variables should make a multi-ISY installation much more functional. I will be doing some multi_ISY testing in the near future as I just picked up a second 994 and PLM to set up a test bed. Once I have that set up, I will be testing inter ISY functionality using the network module/Rest interfaces.

 

-Xathros

 

So you would have two ISY both with Insteon?

 

1. ISY993i with PLM and Z-Wave

2. ISY994i with PLM and Zigbee

 

So you would have to create all the scenes again in the second ISY?

 

if you activate a scene on the primary ISY, how would the second ISY know that since the second PLM is not aware of the change?

 

Please let me know if I am understanding correctly.

Link to comment
Share on other sites

So you would have two ISY both with Insteon?

 

1. ISY993i with PLM and Z-Wave

2. ISY994i with PLM and Zigbee

 

So you would have to create all the scenes again in the second ISY?

 

if you activate a scene on the primary ISY, how would the second ISY know that since the second PLM is not aware of the change?

Please let me know if I am understanding correctly.

 

At the moment, 2 ISY's are not aware of each other and there is no connection between devices/scenes in one and the other.  All you can do is use network resources one one ISY to control the other via the /REST interface.  I do this to pass status of things in my house to a KPL at my office and to pass button presses on the office KPL back to the house to change things as necessary.

 

You could do this with 2 ISY's in the same home but I don't see the value in that unless you have exceeded the links table in you PLM and need more capacity.  Even at that, it would be a pain to manage for any significant amount of interaction between the 2 systems.

 

-Xathros

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...