Jump to content

Copying temperature from a Multisensor 6 to an ISY variable?


Broyd

Recommended Posts

Is there any way to copy the temperature value from a Z-Wave Multisensor 6 into an user accessible ISY variable (integer)? (raw doesn't matter).

 

You can see this raw data in the event viewer on  level 3 when the MS6 transmitts the temperature to the ISY. The temperature value is displayed on the Multisensor panel when displayed in the admin console or on the WEB udajax screen from a browser.

 

The MS6 sensor variable reference is: ${sys.node.ZW006_1.CLITEMP.raw}

 

I am at ISY version 4.5.4. I have the network module.

 

Any insights into this will be appreciated :)

 

 

Link to comment

Is there any way to copy the temperature value from a Z-Wave Multisensor 6 into an user accessible ISY variable (integer)? (raw doesn't matter).

 

You can see this raw data in the event viewer on  level 3 when the MS6 transmitts the temperature to the ISY. The temperature value is displayed on the Multisensor panel when displayed in the admin console or on the WEB udajax screen from a browser.

 

The MS6 sensor variable reference is: ${sys.node.ZW006_1.CLITEMP.raw}

 

I am at ISY version 4.5.4. I have the network module.

 

Any insights into this will be appreciated :)

If this device acts as any supported Insteon or Zwave device, it has a status page, and programs can be written and triggered by almost any parameter on that device page.

Then it is only a case of dedicating a memory location, and writing a program to trigger on any change of value pf this parameter.

 

If

....Multi.sensor >= 0 /reasonable low limit

AND

....Multi.sensor <=99

 

Then

....$Variable = Multi.sensor /reasonable upper limit

 

Else

...send notification to YOU  Multi.sensor is ridiculous

 

Hint: If you want to trigger further programs on the end result you will require the usage of a Status Variable

.Now you will need an Integer variable also for the intermediate value, so that you don't rigger programs twice and on the false value.

 

Then

....$iVariable = Multi.sensor

....$iVariable *= 1.8

....$iVariable += 32.0

...$sVariable  = $iVariable

Link to comment

Thanks larryllix,

 

I was hoping to be able to grab the actual temperature sensor value and store that in a variable.

For example, if the temperature reading is 71.20°F, the raw value seen in the event viewer is 7120; I'd like to get 7120 into a variable, along the lines of ... or ... this is what I'd effectively like to do.

 

$iVariable = ${sys.node.ZW006_1.CLITEMP.raw}

 

If some sort of testing loop is required, maybe I'll give up on the idea :).

Link to comment

Thanks larryllix,

I was hoping to be able to grab the actual temperature sensor value and store that in a variable.

For example, if the temperature reading is 71.20°F, the raw value seen in the event viewer is 7120; I'd like to get 7120 into a variable, along the lines of ... or ... this is what I'd effectively like to do.

$iVariable = ${sys.node.ZW006_1.CLITEMP.raw}

If some sort of testing loop is required, maybe I'll give up on the idea :).

Wrong syntax and technique for programs. See my post again. It will do exactly what you want.
Link to comment

Larry, you are quite frustrating!   There are good reasons to want to have the temperature in a variable, for example if you want a program that only runs if one room is more than 10 degrees warmer than the others.
 

I was hoping to be able to grab the actual temperature sensor value and store that in a variable.
For example, if the temperature reading is 71.20°F, the raw value seen in the event viewer is 7120; I'd like to get 7120 into a variable, along the lines of ... or ... this is what I'd effectively like to do.
$iVariable = ${sys.node.ZW006_1.CLITEMP.raw}

 

Broyd, what you are asking may be doable  the Network Module if your device reports the raw temperature as an integer variable.  For example, my Aeotec shows RAW as "66.40" so it doesn't work to store in a variable, but my Honeywell thermostat reports "67", no non-integer characters.

 

The trick is to use this integer to update a variable by making a REST call from the ISY back to itself (don't use 127.0.0.1, use your intranet IP).  You create a network resource that looks kind of like this (you'll need to supply the hostname, node, and your ISY's username and password):
post-2758-0-55308700-1496240585.pngpost-2758-0-55308700-1496240585_thumb.png
You'll need a program which sporadically calls this network resource so the value gets updated on a regular basis.
 
This does not require V5, the screenshot above is from V4.5.4 and works fine for any device where the .RAW is a pure integer value.

Link to comment

Larry, you are quite frustrating! There are good reasons to want to have the temperature in a variable, for example if you want a program that only runs if one room is more than 10 degrees warmer than the others.

<snipped>

This does not require V5, the screenshot above is from V4.5.4 and works fine for any device where the .RAW is a pure integer value.

Ad hominem comment?

 

I don't know what you are going on about.

If you would search the forums, you would find I have posted about a dozen different programs, attempting to teach others techniques, for getting and using temperatures into variables, including averaging three different sensors with outliers being disallowed from the formula, You don't need to preach to me about the value of getting temperatures into variables and your comment in bold seemed very out of context here.

 

Regardless, I had forgoetten that people using less than v5.x, such as this user, do not have this capability, and need to use network resources to dump values into variables.

 

Carry on. I have never had to use that workaround :)

Link to comment

Hey!

 

I have read enough posts on this forum to know that you both have contributed immensely here. (And hopefully will continue to do so).

 

@larryllix, I have been going over your Raspberry Pi Python code for an HTTP server and am definitely going to be making use of it for the control of a Hunter ceiling fan having 3 speed windings, reverse, light on/off, and dimming capabilities. The 3 windings avoid the very annoying magnetostrictive hum associated with dimmer controls, and I need a sub-second response for the on/off function of the light to avoid activating the dimming function. It will be ISY-994i > HTTP > Raspberry Pi > GPIO > homebrew isolated interface > 'off the shelf' slightly modified Hunter remote fan control. Your code contribution here has been invaluable.

 

@KeviNH, Thanks for taking the time to read my original post; this is something that I need to be careful to do as well. In so many forums, people jump in without accounting for all of the relevant information before making a post. Having read Chris Jahn's post about setting Z-Wave parameters using REST, I was starting to think that might be a method that would work. I was hoping for a less circumlocutious method but I guess being still at 4.5.4 I am stuck with that. I will be trying your post above.   

 

It's good to know that with versions 5+ that some of these capabilities are available. And some point, (likely a beta 5+) I'll make the leap :)  Thank you both again :)

Link to comment

So I have been able to test the network resources REST function. As you suggested KeviNH, the value returned DOES contain a decimal point, even the RAW data. (wouldn't it be nice if raw meant RAW?)

 

I would suggest an additional keyword ... unformatted

 

I was able to show that the REST function works by using the CLIHUM variable which is an integer followed by a % sign. The value returned by specifying raw is just the integer - and that was successfully stored in the variable.

 

I guess (if I get desperate) I could use larryllix's Raspberry Pi Python code and have the ISY send the data to the Pi and have the Pi reformat it and send a REST back to the ISY to store it ...

 

This would be OK; I'd learn a lot :)

Link to comment

Hey!

 

I have read enough posts on this forum to know that you both have contributed immensely here. (And hopefully will continue to do so).

 

@larryllix, I have been going over your Raspberry Pi Python code for an HTTP server and am definitely going to be making use of it for the control of a Hunter ceiling fan having 3 speed windings, reverse, light on/off, and dimming capabilities. The 3 windings avoid the very annoying magnetostrictive hum associated with dimmer controls, and I need a sub-second response for the on/off function of the light to avoid activating the dimming function. It will be ISY-994i > HTTP > Raspberry Pi > GPIO > homebrew isolated interface > 'off the shelf' slightly modified Hunter remote fan control. Your code contribution here has been invaluable.

 

@KeviNH, Thanks for taking the time to read my original post; this is something that I need to be careful to do as well. In so many forums, people jump in without accounting for all of the relevant information before making a post. Having read Chris Jahn's post about setting Z-Wave parameters using REST, I was starting to think that might be a method that would work. I was hoping for a less circumlocutious method but I guess being still at 4.5.4 I am stuck with that. I will be trying your post above.   

 

It's good to know that with versions 5+ that some of these capabilities are available. And some point, (likely a beta 5+) I'll make the leap :)  Thank you both again :)

If you advanced enough to write http handling code I really recommend you go to v5.0.10. You should have no trouble with it. Any bugs are monor gui layout things and it would be so simple for you to create a solution to this problem, rather than use workarounds. Then you wouldn't be rewriting you techniques later.

OTOH: If you are like me you will enjoy the challenge to resolve it both ways.

Link to comment

Changing 73.45 to 7345 is not simply changing the formatting. It's an entirely different value!

 

.RAW simply removes all units and formatting that is otherwise added by ISY, and reports the raw value as received from the device.

 

Some devices will allow you to configure them to report without the fractional parts by setting a parameter. Otherwise, when 5.x is released we will have formal support for non-integers in variables...

Link to comment

Changing 73.45 to 7345 is not simply changing the formatting. It's an entirely different value!

 

.RAW simply removes all units and formatting that is otherwise added by ISY, and reports the raw value as received from the device.

 

Some devices will allow you to configure them to report without the fractional parts by setting a parameter. Otherwise, when 5.x is released we will have formal support for non-integers in variables...

Hi MWareman, I know that we are dealing with two values that are different ... however ...

 

When I use a browser and issue: http://192.168.1.25:37190/rest/nodes/ZW006_1/CLITEMP

I get the following response:

 

<properties><property id="CLITEMP" value="7310" formatted="73.10° F" uom="17" prec="2"/></properties>

 

And in the event log level 3 I get:

 

Tue 05/30/2017 09:45:46 AM : [ZWAVE-PROCESS ] Process value Sensor type=1 uomId=1 prec=2

Tue 05/30/2017 09:45:46 AM : [D2D EVENT ] Event [ZW006_1] [CLITEMP] [7310] uom=17 prec=2

Tue 05/30/2017 09:45:46 AM : [ ZW006_1] CLITEMP 7310 (uom=17 prec=2)

 

This suggested to me that the value retrieved by the ISY was an unformatted integer and that the ISY was supplying the ". ° F". Given the properties and event log above, is that not a reasonable assumption?

 

The property for the humidity, which is an integer is:

 

http://192.168.1.25:37190/rest/nodes/ZW006_1/CLIHUM

 

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

 

To me, prec = precision = 2 for the temperature and is missing for humidity.

My guess for "UOM" is "unit of measurement".

Link to comment
  • 1 month later...

Hi Broyd,

 

Did you ever make any progress on this?  I would like to pull and store the same two values from an Everspring temp/humidity sensor. An additional complication is that the sensor only wakes up once per hour for a very short period to report status.  But one step at a time!

 

Thanks

Link to comment

Archived

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


×
×
  • Create New...