Jump to content

EZIO2x4 Analogue Mode


skisteep

Recommended Posts

Posted

Wondering if I can use the EZIO2X4 IO module in analogue mode, ie. I want to attach an Analogue light sensor to the EZIO and get a digital value recorded in ISY.

 

Note: according to EZ this controller can output a value from 0-1024 from an analogue input

 

Wayne

 

Posted

Thanks for the info, hmmm, any ideas on how get this to work. I know a Raspberry PI or similar could get the job done, but more futzing than I have time for right now, would like a complete commercial solution. 

 

Wayne

Posted

I used Powerhome for years where you can issue just about any command but moved to the ISY about 8 years ago. The Simplehomenet Utility can set up analog ranges where the I3 and I4 Inputs will send On or off commands based on analog value but the ISY does not access the actual analog value.

Posted

Dang!

 

I want it now!!

 

People spend oodles of time attempting to get analogue values into ISY.

 

Autellis, RPi and WebControl, using 1wire sensors, are the common ways to get analogues in.

Posted

Thanks for the info, hmmm, any ideas on how get this to work. I know a Raspberry PI or similar could get the job done, but more futzing than I have time for right now, would like a complete commercial solution. 

 

Wayne

 

Have you considered a Z-Wave device with a light sensor like the Aeotec MultiSensor 6? Depending on what you want to accomplish it could be a good solution.

 

Someone asked about its light sensor capabilities and I posted a chart showing some data it reported to the ISY at http://forum.universal-devices.com/topic/16323-setup-and-usage-of-aeotec-multisensor-6/?p=145514

Posted

Scott

Thanks for the great tip, the MultiSensor 6 works wonders, I had to buy the Z-Wave board for the ISY, but was planning to already. 

 

One question, the STATUS variable is a mystery, what does it represent??? 

 

Wayne

Posted

Scott

Thanks for the great tip, the MultiSensor 6 works wonders, I had to buy the Z-Wave board for the ISY, but was planning to already. 

 

One question, the STATUS variable is a mystery, what does it represent??? 

 

Wayne

 

My MultiSensor 6 created four devices:

- ZW017_104 Binary Sensor

- ZW017_155 Motion Sensor

- ZW017_1 Multilevel Sensor

- ZW017_157 Tamper Alarm

 

Looking at the event viewer it appears when motion is sensed the Motion Sensor is set to Status = On and the Multilevel Sensor is set to Status = 100%.

  • 2 weeks later...
Posted

Scott and others,

 

Is there a way to get the luminance value into an ISY variable??

 

Wayne

 

Until Version 5.0 is available I believe there are indirect ways to get values into variables.
 
But this may not be necessary depending on what you want to accomplish. Following for example is a set of three programs that will turn on/off device "Stairway Night Light" based on the luminance value.
 
"s_Stairway_Light" is a state variable that is set to turn the light on or off. The 5 minute timer keeps the light on for at least that many minutes in case lighting is variable and can be adjusted as needed. And the 15 lux turn off level and 10 lux turn on level can also be adjusted as needed.
 
***********
 
PROGRAM #1: Control Stairway Light
If
        $s_Stairway_Light is 1
Then
        Set 'Stairway Night Light' On
Else
        Wait  5 minutes 
        Set 'Stairway Night Light' Off
 
PROGRAM #2: Check Light High
If
        Status  'Stairway Sensor' >= 15 lux (Luminance)
Then
        $s_Stairway_Light  = 0
 
PROGRAM #3: Check Light Low
If
        Status  'Stairway Sensor' <= 10 lux (Luminance)
Then
        $s_Stairway_Light  = 1
Posted

Thanks Scott,

 

I'm trying to create a moving average of the Luminance value from the MultiSensor 6(as you know from your Luminance values over time graph, it is very sensitive), so I need to either get the Luminance value into a ISY variable, or use an external program like PHP or Powershell to capture the current Luminance via REST, process it into a moving average, and then REST it back to the ISY.

 

It's Looking like the later method is the only way to do this, until V5

 

Wayne

Posted (edited)

Thanks Scott,

 

I'm trying to create a moving average of the Luminance value from the MultiSensor 6(as you know from your Luminance values over time graph, it is very sensitive), so I need to either get the Luminance value into a ISY variable, or use an external program like PHP or Powershell to capture the current Luminance via REST, process it into a moving average, and then REST it back to the ISY.

 

It's Looking like the later method is the only way to do this, until V5

 

Wayne

How will you be using the moving average? The chart I created was from data I sent from ISY to Smart Energy Groups. Data can be exported from there to calculate moving averages but I assume you may be interested in something more real time.

Edited by Scott847
Posted

Scott and others,

 

Is there a way to get the luminance value into an ISY variable??

 

Wayne

If you have 4.3.10 and the network module, you can have anything that's substitutable in email set as a variable by using a network resource and variable substitution calling the rest interface directly on the ISY to set the variable.
Posted (edited)

How will you be using the moving average? The chart I created was from data I sent from ISY to Smart Energy Groups. Data can be exported from there to calculate moving averages but I assume you may be interested in something more real time.

 

Yes, I'm using Luminance to control my Hunter Douglas Powerview shades, so I need realtime, but also smoothing so that they aren't constantly going up and down, MWareman has an interesting suggestion so I might not need to use my server and Powershell

 

 

If you have 4.3.10 and the network module, you can have anything that's substitutable in email set as a variable by using a network resource and variable substitution calling the rest interface directly on the ISY to set the variable.

 

Thanks, this looks interesting, would you expand on how-to do this, I can't find any threads or documentation.

 

Note: I'm getting Luminance values from a MultiSensor Z-wave device, so not sure that I can even get to the Luminance values via EMail Variables

 

Wayne

Edited by skisteep
Posted

Thanks, this looks interesting, would you expand on how-to do this, I can't find any threads or documentation.

 

 

As I mentioned, you'll need the network resource...

 

'http'

'GET'  

'Host' [iP of ISY]  

Port [80 or non-ssl port of ISY]

Path Example:    /rest/vars/set/2/128/${sys.node.27 FA 4D 1.ST.raw}         

Encode URL:  Unchecked

Timeout:  500ms

 

In the Headers, add:

Authorization

    Set the username and password to your ISY username and password

 

Save it, and test.

 

Details of the Path:

 

/rest/vars/set/ tells ISY 'I want to set a variable'

2 tells ISY 'set a state variable'  (use 1 for an integer)

128 is the variable number (look this up on your ISY admin console variables tab)

${sys.node.27 FA 4D 1.ST.raw}  is the substitution variable for the device. Watch out - this needs to be an integer - Insteon devices are normally ranged 0-255. The .raw means 'an unformatted raw value'.

 

Note: Do *not* use 127.0.0.1 for the IP address!  There is a limitation in the networking stack of ISY that means this will not only not work - it can actually hang the ISY.

 

Michael.

Posted

Thanks for the explanation, got the Network Resource module, but ran into a dead-end on capturing the value I need from the Z-Wave MultiSensor.  Below is the XML file when I do a REST get using http://MYISYIP/rest/nodes/ZW002_1/

 

The value I'm trying to capture is towards the end of the file, named "LUMIN", it has a value of 7100, any ideas on how to do this??

 

 

>>> My XML file

-<nodeInfo>

-<node flag="128">

<address>ZW002_1</address>

<name>ZW 002 Multilevel Sensor</name>

<family>4</family>

<parent type="3">45379</parent>

<type>4.33.1.0</type>

<enabled>true</enabled>

<deviceClass>0</deviceClass>

<wattage>0</wattage>

<dcPeriod>0</dcPeriod>

<pnode>ZW002_1</pnode>

<sgid>1</sgid>

-<devtype>

<gen>4.33.1</gen>

<mfg>134.258.100</mfg>

<cat>118</cat>

</devtype>

<ELK_ID>D05</ELK_ID>

<property uom="51" formatted=" " value=" " id="ST"/>

</node>

-<properties>

<property uom="51" formatted="100%" value="100" id="BATLVL"/>

<property uom="22" formatted="21%" value="21" id="CLIHUM"/>

<property uom="17" formatted="85.10° F" value="8510" id="CLITEMP" prec="2"/>

<property uom="51" formatted=" " value=" " id="DOF"/>

<property uom="51" formatted=" " value=" " id="DON"/>

<property uom="36" formatted="71.00 lux" value="7100" id="LUMIN" prec="2"/>

<property uom="51" formatted=" " value=" " id="ST"/>

<property uom="71" formatted="0.00 UV Index" value="0" id="UV" prec="2"/>

</properties>

</nodeInfo>

 

 

<

Posted (edited)

Yes, I'm using Luminance to control my Hunter Douglas Powerview shades, so I need realtime, but also smoothing so that they aren't constantly going up and down, MWareman has an interesting suggestion so I might not need to use my server and Powershell

 

Wayne, the general approach I mentioned above might work more reliably than calculating a moving average. In the following program example you would adjust the high light level of 75 lux, low light level of 15 lux and time delays to open or close to meet your needs. Most important is that the low light level of 15 lux be lower than the light level right after your shades close to avoid them starting the time delay to open the blinds right after they've closed.

 

Michael, thanks for the info about updating ISY variables from ISY. I was just going to be trying to figure this out for another project I'm working on.

 

****************************

 

*** PROGRAM #1: Open Blinds
If
        $s_Blinds_Open_Request is 1
    And $s_Blinds_Open is 0
Then
        Wait  45 minutes 
        [send command to open blinds]
        $s_Blinds_Open  = 1
 
*** PROGRAM #2: Close Blinds
If
        $s_Blinds_Open_Request is 0
    And $s_Blinds_Open is 1
Then
        Wait  10 minutes 
        [send command to close blinds]
        $s_Blinds_Open  = 0
 
*** PROGRAM #3: Check Light High
If
        Status  'MultiSensor' >= 75 lux (Luminance)
Then
        $s_Blinds_Open_Request  = 0
 
*** PROGRAM #4: Check Light Low
If
        Status  'MultiSensor' <= 15 lux (Luminance)
Then
        $s_Blinds_Open_Request  = 1

 

[Edited: I had delays for open and close reversed - you probably want to close the blinds with less delay than opening]

Edited by Scott847
Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

    • There are no registered users currently online
  • Forum Statistics

    • Total Topics
      37k
    • Total Posts
      371.4k
×
×
  • Create New...