Jump to content

Postal Notification


smokegrub

Recommended Posts

Posted

Come join us in this thread specifically for the wireless tags. The Kumoapp script is there for ISY integration using variables.

 

CAO sensors support

 

https://r.tapatalk.com/shareLink?share_fid=23986&share_tid=8818&url=http%3A%2F%2Fforum%2Euniversal-devices%2Ecom%2Findex%2Ephp%3F%2Ftopic%2F8818-CAO-sensors-support&share_type=t

 

Where in the CAO sensors support thread is the Kumoapp script for ISY integration using variables?

Posted (edited)

Where in the CAO sensors support thread is the Kumoapp script for ISY integration using variables?

There's a nice sample Kumoapp in post # 169.  I modified it to my application and things are now working fine.

 

Edit: attached screenshot of ISY variables updated by the Kumoapp.

post-7363-0-22606000-1490536624_thumb.png

Edited by Bumbershoot
Posted (edited)

There's a nice sample Kumoapp in post # 169.  I modified it to my application and things are now working fine.

 

Edit: attached screenshot of ISY variables updated by the Kumoapp.

 

Thanks Bumbershoot.

 

I'm quoting post # 169 including the code for easy reference: (I have a few questions at the bottom of this post.)

 

 

Here is my latest code adopted from Mwareman's original.

 

Decimal values are being sent and the ISY REST interface receives them perfectly in their native states.

 

The moved variable is a bit of a mess yet as I have been sending the X and Y parameters combined into one variable in order to experiment with the values in my ISY. I haven't been able to make any sense out of the actual values sent and other than "it changed = it moved" detection the actual values see like nonsense, so far.

var tags = <#tags_[13|21|23|25]_N#>;
var isy_ip=<%ISY IP Address%>;
var isy_user = <%ISY username%>;
var isy_password=<%ISY password%>;
var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"

tags.forEach(
function (tag) {
tag.updated = function () {
        var cur_name = tag.name
        var valid_device = true
        switch(cur_name) {
            case "Tag 0":
                var isy_variable_temp = 42
                var isy_variable_humi = 43
                var isy_variable_moved = 44
                var isy_variable_battV = 45
                var isy_variable_outOfRange = 46
                break;
            case "Tag 1":
                var isy_variable_temp = 47
                var isy_variable_humi = 48
                var isy_variable_moved = 49
                var isy_variable_battV = 50
                var isy_variable_outOfRange = 51
                break;
            case "Tag 2":
                var isy_variable_temp = 52
                var isy_variable_humi = 53
                var isy_variable_moved = 54
                var isy_variable_battV = 55
                var isy_variable_outOfRange = 56
                break;
            case "Tag 3":
                var isy_variable_temp = 57
                var isy_variable_humi = 58
                var isy_variable_moved = 59
                var isy_variable_battV = 60
                var isy_variable_outOfRange = 61
                break;
            default:
                var valid_device = false
        }
        if(valid_device==true){
            var tag_temp = Math.round(tag.temperature * 10)/10;
            KumoApp.Log("Temp for "+cur_name+" ("+isy_variable_temp+") updated to "+tag_temp);
            KumoApp.httpCall(isy_RESTcall+isy_variable_temp+"/"+tag_temp, "GET");
            
            var tag_moisture = Math.round(tag.moisture);
            KumoApp.Log("Humidity for "+cur_name+" ("+isy_variable_humi+") updated to "+tag_moisture);
            KumoApp.httpCall(isy_RESTcall+isy_variable_humi+"/"+tag_moisture, "GET");
            
            var tag_moved = Math.round(tag.hasMoved);
            var tag_XYZ = (Math.round(tag.angleX)+5000)*100000 + Math.round(tag.angleY)+5000
KumoApp.Log("Moved for "+cur_name+" ("+isy_variable_moved+") updated to "+tag_XYZ);
         KumoApp.httpCall(isy_RESTcall+isy_variable_moved+"/"+tag_XYZ, "GET");

            var tag_battV = Math.round(tag.batteryVolt * 1000)/1000;
            KumoApp.Log("BatteryV for "+cur_name+" ("+isy_variable_battV+") updated to "+tag_battV);
            KumoApp.httpCall(isy_RESTcall+isy_variable_battV+"/"+tag_battV, "GET");
            
            var tag_outOfRange = Math.round(tag.outOfRange);
         KumoApp.Log("OutOfRange for "+cur_name+" ("+isy_variable_outOfRange+") updated to "+tag_outOfRange);
         KumoApp.httpCall(isy_RESTcall+isy_variable_outOfRange+"/"+tag_outOfRange, "GET");

        } else {
            KumoApp.Log("Data from non-configured device: "+cur_name);
        }
};
}
);

 

joe's Questions:
  1. I assume that in line 2: var isy_ip=<%ISY IP Address%>, I would replace ISY IP Address with the local internal IP address of my ISY on my home network. In my case my ISY is at ip address 192.168.1.30 so my line 2 would look like: 
    var isy_ip=<%192.168.1.30%>;
    

    Is this correct?

  2. What is the name of the high-level language in which this code is written?
  3. Where do I put this code?
Edited by joe
Posted (edited)

 

Thanks Bumbershoot.

 

I'm quoting post # 169 including the code for easy reference:

 

 

joe's Questions:
  1. I assume that in line 2: var isy_ip=<%ISY IP Address%>, I would replace ISY IP Address with the local internal IP address of my ISY on my home network. In my case my ISY is at ip address 192.168.1.30 so my line 2 would look like: 
    var isy_ip=<%192.168.1.30%>;
    

    Is this correct?

  2. What is the name of the high-level language in which this code is written?
  3. Where do I put this code?

 

  1. You can leave the code as it is and the Kumoapp will prompt you for the values when you first run the app, so you don't need to hard code the values. I believe that's what the tags <%value%> prompt the Kumoapp to do.
  2. I haven't written any Javascript in better than ten years, but this is certainly what it looks like.
  3. From your Wireless Tag List page, press the "Kumo Apps" button on the bottom of the page.  That will take you to a "Kumo Apps" page, and click on the "Write Your Own App" button on the right side of the black bar you see.  Paste in your code in the code editor and fill in the correct info in the app.  Click the "Create/Update App" button, then the "Get Link to Install" button, copy the link, go back to the Kump Apps page, then install the app.  You'll probably need to click on the "Search All Apps" link at the bottom of the install page, but that will take you to a page where you can find your app.  You'll then be taken to a "Configure the App" bate where you'll see input fields for you IP address, Username and Password when you first run it.  It's important, on this page, to select all the tags you wish to include "Add/remove one or more"...

Here is how I modified larryllix's code for my application (note that I'm only using soil water/moisture detectors, as seen in the variable "tags" -- var tags = <#tags_[32]_N#> )

var tags = <#tags_[32]_N#>;
var isy_ip=<%ISY IP Address%>;
var isy_user = <%ISY username%>;
var isy_password=<%ISY password%>;
var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"

tags.forEach(
function (tag) {
    tag.updated = function () {
		var cur_name = tag.name
		var valid_device = true
		switch(cur_name) {
			case "HerbPlanter":
				var isy_variable_humi = 27
				var isy_variable_battV = 28
				break;
			case "EastPlanter":
				var isy_variable_humi = 13
				var isy_variable_battV = 29
				break;
			case "FrontMaple":
				var isy_variable_humi = 14
				var isy_variable_battV = 30
				break;
			case "EntryPine":
				var isy_variable_humi = 25
				var isy_variable_battV = 31
				break;
			case "FrontPlanter":
				var isy_variable_humi = 26
				var isy_variable_battV = 32
				break;
			default:
				var valid_device = false
		}
		if(valid_device==true){

			var tag_moisture = Math.round(tag.moisture);
			KumoApp.Log("Humidity for "+cur_name+" ("+isy_variable_humi+") updated to "+tag_moisture);
			KumoApp.httpCall(isy_RESTcall+isy_variable_humi+"/"+tag_moisture, "GET");
			
			var tag_battV = Math.round(tag.batteryVolt * 1000)/1000;
			KumoApp.Log("BatteryV for "+cur_name+" ("+isy_variable_battV+") updated to "+tag_battV);
			KumoApp.httpCall(isy_RESTcall+isy_variable_battV+"/"+tag_battV, "GET");
			
		} else {
			KumoApp.Log("Data from non-configured device: "+cur_name);
		}
    };
}
);

Good luck!

Screenshots attached.

post-7363-0-35080100-1490538846_thumb.png

post-7363-0-03766500-1490538996_thumb.png

post-7363-0-37683600-1490539218_thumb.png

post-7363-0-98735400-1490539821_thumb.png

Edited by Bumbershoot
Posted

Thanks Bumbershoot. I am getting closer but still not fulling working. I can got the program running and the KumoApp log seems to be working as I see it updating. However, the variables in my ISY are not updating.

 

Would you mind taking a look to see if you can see any errors in my code? I will also share a screen cap showing my ISY variables.

 

Here is my code:

var tags = <#tags_[26]_N#>;
var isy_ip=<%ISY IP Address%>;
var isy_user = <%ISY username%>;
var isy_password=<%ISY password%>;
var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"

tags.forEach(
function (tag) {
    tag.updated = function () {
		var cur_name = tag.name
		var valid_device = true
		switch(cur_name) {
			case "Light Sensor 0":
				var isy_variable_temp = 121
				var isy_variable_humi = 122
				var isy_variable_moved = 123
				var isy_variable_battV = 124
				var isy_variable_outOfRange = 125
				break;
			default:
				var valid_device = false
		}
		if(valid_device==true){
			var tag_temp = Math.round(tag.temperature * 10)/10;
			KumoApp.Log("Temp for "+cur_name+" ("+isy_variable_temp+") updated to "+tag_temp);
			KumoApp.httpCall(isy_RESTcall+isy_variable_temp+"/"+tag_temp, "GET");
			
			var tag_moisture = Math.round(tag.moisture);
			KumoApp.Log("Humidity for "+cur_name+" ("+isy_variable_humi+") updated to "+tag_moisture);
			KumoApp.httpCall(isy_RESTcall+isy_variable_humi+"/"+tag_moisture, "GET");
			
			var tag_moved = Math.round(tag.hasMoved);
			var tag_XYZ = (Math.round(tag.angleX)+5000)*100000 + Math.round(tag.angleY)+5000
            KumoApp.Log("Moved for "+cur_name+" ("+isy_variable_moved+") updated to "+tag_XYZ);
		    KumoApp.httpCall(isy_RESTcall+isy_variable_moved+"/"+tag_XYZ, "GET");

			var tag_battV = Math.round(tag.batteryVolt * 1000)/1000;
			KumoApp.Log("BatteryV for "+cur_name+" ("+isy_variable_battV+") updated to "+tag_battV);
			KumoApp.httpCall(isy_RESTcall+isy_variable_battV+"/"+tag_battV, "GET");
			
			var tag_outOfRange = Math.round(tag.outOfRange);
		    KumoApp.Log("OutOfRange for "+cur_name+" ("+isy_variable_outOfRange+") updated to "+tag_outOfRange);
		    KumoApp.httpCall(isy_RESTcall+isy_variable_outOfRange+"/"+tag_outOfRange, "GET");

		} else {
			KumoApp.Log("Data from non-configured device: "+cur_name);
		}
    };
}
);

post-9071-0-57492700-1490544919_thumb.jpg

Posted

The first question is if your variables are STATE variables.  This line in the code sends updates to STATE variables:

var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"

If you have INTEGER variables, then the line would need to look like this:

var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/1/"

Also, did you make sure to include your tags in the selection list while configuring the app? Otherwise, I don't see anything obvious.

Posted

The first question is if your variables are STATE variables.  This line in the code sends updates to STATE variables:

var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"

If you have INTEGER variables, then the line would need to look like this:

var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/1/"

Also, did you make sure to include your tags in the selection list while configuring the app? Otherwise, I don't see anything obvious.

 

Another thought:  I had to "Reset State" on my tags before they started to send data.  You might give that a try if still no success.  See this post.

Posted

Thanks! Getting much closer. My variables are INTEGER. So I changed from a "2" to a "1" in the isy_RESTcall line of code you snipped in your last post.

 

Now my ISY humidity (wt.ALS00.humi) and movement (wt.ALS00.moved) variables are updating on the ISY. However, my temperature (wt.ALS00.temp) and battery voltage (wt.ALS00.battV) variables are not updating. Perhaps I need to configure these parameters for monitoring in the wireless tag app or something... I'll continue to play around with it.

 

Many thanks for your help this morning!! 

Posted

Yes, you'll need to configure the tags for monitoring those values.  Also, I *think* (I don't actually recall) that they only update when the value changes, so maybe wait a bit?

Posted

I have the Wireless Tag Pro ALS (26). How can I figure out what all data is available programatically from this device?

 

From inspection of the code I borrowed from this thread, I see that following data is available:

  1. tag.temperature
  2. tag.moisture
  3. tag.hasMoved
  4. tag.angleX
  5. tag.angleY
  6. tag.batteryVolt
  7. tag.outOfRange
 
There should be more data available as well - at least a parameter for ambient light level since the Wireless Tag Pro ALS is an ambient light sensor (ALS). Where can one find the list of data each of the different types of sensors produces and a description of the format of this data?
 
I would seem that this information would be contained on this page: http://wirelesstag.net/kumoapp or at least be linked to from that page. I am not seeing it though...
 
Anybody know?
Posted

Okay everything seems to be working for the most part. I have rewickered the kumoapp code to read 12 parameters from my Motion Sensor Tag Pro ALS into 12 ISY state variables. The parameters I pull include the following items (all defined at the link in my post (post 61) above):

 

  1. eventState
  2. isDetected
  3. isTimedout
  4. outOfRange
  5. tempState
  6. moistureState
  7. lightState
  8. temperature
  9. moisture
  10. lux
  11. lit
  12. batteryVolt
I opted not to monitor the following parameters (these too are defined at the link in my post (post 61) above):
  1. name
  2. slaveId
  3. uuid
  4. lowTh
  5. highTh
  6. rssi
  7. txpwr
 
The problem is though that the batteryVolt parameter isn't updating in the ISY - it constantly reads 0 but does show a changing "Last Changed" time in the ISY variables page. Interestingly though the log for the Motion Sensor Tag Pro ALS shows the batteryVolt parameter changing (i.e. it isn't always 0 in the log - in fact it is never 0 in the log). Here is the snippet of code from my kumoapp that is supposed to update the ISY battery voltage state variable (ID = 32, name = s.ALS01.batteryVolt):
 
var tag_battVolt = Math.round(tag.batteryVolt * 1000)/1000;
KumoApp.Log("BatteryV for "+cur_name+" ("+isy_variable_batteryVolt+") updated to "+tag_battVolt);
KumoApp.httpCall(isy_RESTcall+isy_variable_batteryVolt+"/"+tag_battVolt, "GET");

I have tried using the "Reset Tag States" feature of the WirelessTag app but it doesn't help - still no battery voltage level updates on the ISY variable. I have also rebooted the tag manager - no help.

 

Anyone have any ideas why the batteryVolt parameter isn't updating to my ISY state variable (ID = 32, name = s.ALS01.batteryVolt)?

Posted

Okay everything seems to be working for the most part. I have rewickered the kumoapp code to read 12 parameters from my Motion Sensor Tag Pro ALS into 12 ISY state variables. The parameters I pull include the following items (all defined at the link in my post (post 61) above):

 

  • eventState
  • isDetected
  • isTimedout
  • outOfRange
  • tempState
  • moistureState
  • lightState
  • temperature
  • moisture
  • lux
  • lit
  • batteryVolt
I opted not to monitor the following parameters (these too are defined at the link in my post (post 61) above):

  • name
  • slaveId
  • uuid
  • lowTh
  • highTh
  • rssi
  • txpwr

The problem is though that the batteryVolt parameter isn't updating in the ISY - it constantly reads 0 but does show a changing "Last Changed" time in the ISY variables page. Interestingly though the log for the Motion Sensor Tag Pro ALS shows the batteryVolt parameter changing (i.e. it isn't always 0 in the log - in fact it is never 0 in the log). Here is the snippet of code from my kumoapp that is supposed to update the ISY battery voltage state variable (ID = 32, name = s.ALS01.batteryVolt):

 

var tag_battVolt = Math.round(tag.batteryVolt * 1000)/1000;
KumoApp.Log("BatteryV for "+cur_name+" ("+isy_variable_batteryVolt+") updated to "+tag_battVolt);
KumoApp.httpCall(isy_RESTcall+isy_variable_batteryVolt+"/"+tag_battVolt, "GET");
I have tried using the "Reset Tag States" feature of the WirelessTag app but it doesn't help - still no battery voltage level updates on the ISY variable. I have also rebooted the tag manager - no help.

 

Anyone have any ideas why the batteryVolt parameter isn't updating to my ISY state variable (ID = 32, name = s.ALS01.batteryVolt)?

Would you share your code with the parameters?

Posted

I'm not home do I can't post a screenshot, but I have my voltage variables set to a precision of three, in order to get them to display correctly. Firmware version is 5.0.8.

Posted

Yes, I will. It is a bit long as I have plans to deploy 10 Motion Sensor Tag Pro ALS sensors. I plan to name them ALS01, ALS02, ALS03, ... ALS10. So far I have only activated two of them - ALS01 and ALS02. Interestignly ALS02 is not updating the ISY variables... And as previously reported the ALS01 is not updating battery voltage. Interestingly both (ALS01 and ALS02) are updating the logs correctly for all (I think) parameters.

 

Here is my code (I'll also include a screen cap of a subset of the state variables I have defined in the ISY994):

var tags = <#tags_[26]_N#>;
var isy_ip=<%ISY IP Address%>;
var isy_user = <%ISY username%>;
var isy_password=<%ISY password%>;
var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"
 
tags.forEach(
function (tag) {
tag.updated = function () {
        var cur_name = tag.name
        var valid_device = true
        switch(cur_name) {
            case "ALS01":
                var isy_variable_eventState = 21
                var isy_variable_isDetected = 22
                var isy_variable_isTimedout = 23
                var isy_variable_outOfRange = 24
                var isy_variable_tempState = 25
                var isy_variable_moistureState = 26
                var isy_variable_lightState = 27
                var isy_variable_temperature = 28
                var isy_variable_moisture = 29
                var isy_variable_lux = 30
                var isy_variable_lit = 31
                var isy_variable_batteryVolt = 32
                break;
            case "ALS02":
                var isy_variable_eventState = 41
                var isy_variable_isDetected = 42
                var isy_variable_isTimedout = 43
                var isy_variable_outOfRange = 44
                var isy_variable_tempState = 45
                var isy_variable_moistureState = 46
                var isy_variable_lightState = 47
                var isy_variable_temperature = 48
                var isy_variable_moisture = 49
                var isy_variable_lux = 50
                var isy_variable_lit = 51
                var isy_variable_batteryVolt = 52
            case "ALS03":
                var isy_variable_eventState = 61
                var isy_variable_isDetected = 62
                var isy_variable_isTimedout = 63
                var isy_variable_outOfRange = 64
                var isy_variable_tempState = 65
                var isy_variable_moistureState = 66
                var isy_variable_lightState = 67
                var isy_variable_temperature = 68
                var isy_variable_moisture = 69
                var isy_variable_lux = 70
                var isy_variable_lit = 71
                var isy_variable_batteryVolt = 72
            case "ALS04":
                var isy_variable_eventState = 81
                var isy_variable_isDetected = 82
                var isy_variable_isTimedout = 83
                var isy_variable_outOfRange = 84
                var isy_variable_tempState = 85
                var isy_variable_moistureState = 86
                var isy_variable_lightState = 87
                var isy_variable_temperature = 88
                var isy_variable_moisture = 89
                var isy_variable_lux = 90
                var isy_variable_lit = 91
                var isy_variable_batteryVolt = 92
            case "ALS05":
                var isy_variable_eventState = 101
                var isy_variable_isDetected = 102
                var isy_variable_isTimedout = 103
                var isy_variable_outOfRange = 104
                var isy_variable_tempState = 105
                var isy_variable_moistureState = 106
                var isy_variable_lightState = 107
                var isy_variable_temperature = 108
                var isy_variable_moisture = 109
                var isy_variable_lux = 110
                var isy_variable_lit = 111
                var isy_variable_batteryVolt = 112
            case "ALS06":
                var isy_variable_eventState = 121
                var isy_variable_isDetected = 122
                var isy_variable_isTimedout = 123
                var isy_variable_outOfRange = 124
                var isy_variable_tempState = 125
                var isy_variable_moistureState = 126
                var isy_variable_lightState = 127
                var isy_variable_temperature = 128
                var isy_variable_moisture = 129
                var isy_variable_lux = 130
                var isy_variable_lit = 131
                var isy_variable_batteryVolt = 132
                break;
            case "ALS07":
                var isy_variable_eventState = 141
                var isy_variable_isDetected = 142
                var isy_variable_isTimedout = 143
                var isy_variable_outOfRange = 144
                var isy_variable_tempState = 145
                var isy_variable_moistureState = 146
                var isy_variable_lightState = 147
                var isy_variable_temperature = 148
                var isy_variable_moisture = 149
                var isy_variable_lux = 150
                var isy_variable_lit = 151
                var isy_variable_batteryVolt = 152
            case "ALS08":
                var isy_variable_eventState = 161
                var isy_variable_isDetected = 162
                var isy_variable_isTimedout = 163
                var isy_variable_outOfRange = 164
                var isy_variable_tempState = 165
                var isy_variable_moistureState = 166
                var isy_variable_lightState = 167
                var isy_variable_temperature = 168
                var isy_variable_moisture = 169
                var isy_variable_lux = 170
                var isy_variable_lit = 171
                var isy_variable_batteryVolt = 172
            case "ALS09":
                var isy_variable_eventState = 181
                var isy_variable_isDetected = 182
                var isy_variable_isTimedout = 183
                var isy_variable_outOfRange = 184
                var isy_variable_tempState = 185
                var isy_variable_moistureState = 186
                var isy_variable_lightState = 187
                var isy_variable_temperature = 188
                var isy_variable_moisture = 189
                var isy_variable_lux = 190
                var isy_variable_lit = 191
                var isy_variable_batteryVolt = 192
            case "ALS10":
                var isy_variable_eventState = 201
                var isy_variable_isDetected = 202
                var isy_variable_isTimedout = 203
                var isy_variable_outOfRange = 204
                var isy_variable_tempState = 205
                var isy_variable_moistureState = 206
                var isy_variable_lightState = 207
                var isy_variable_temperature = 208
                var isy_variable_moisture = 209
                var isy_variable_lux = 210
                var isy_variable_lit = 211
                var isy_variable_batteryVolt = 212

            default:
                var valid_device = false
        }
        if(valid_device==true){
            var tag_eventState = tag.eventState;
            KumoApp.Log("eventState "+cur_name+" ("+isy_variable_eventState+") updated to "+tag_eventState);
            KumoApp.httpCall(isy_RESTcall+isy_variable_eventState+"/"+tag_eventState, "Get");
            
            var tag_isDetected = tag.isDetected;
            KumoApp.Log("isDetected "+cur_name+" ("+isy_variable_isDetected+") updated to "+tag_isDetected);
            KumoApp.httpCall(isy_RESTcall+isy_variable_isDetected+"/"+tag_isDetected, "Get");
            
            var tag_isTimedout = tag.isTimedout;
            KumoApp.Log("isTimedout "+cur_name+" ("+isy_variable_isTimedout+") updated to "+tag_isTimedout);
            KumoApp.httpCall(isy_RESTcall+isy_variable_isTimedout+"/"+tag_isTimedout, "Get");
            
            var tag_outOfRange = tag.outOfRange;
            KumoApp.Log("outOfRange "+cur_name+" ("+isy_variable_outOfRange+") updated to "+tag_outOfRange);
            KumoApp.httpCall(isy_RESTcall+isy_variable_outOfRange+"/"+tag_outOfRange, "Get");
            
            var tag_tempState = tag.tempState;
            KumoApp.Log("tempState "+cur_name+" ("+isy_variable_tempState+") updated to "+tag_tempState);
            KumoApp.httpCall(isy_RESTcall+isy_variable_tempState+"/"+tag_tempState, "Get");
            
            var tag_moistureState = tag.moistureState;
            KumoApp.Log("moistureState "+cur_name+" ("+isy_variable_moistureState+") updated to "+tag_moistureState);
            KumoApp.httpCall(isy_RESTcall+isy_variable_moistureState+"/"+tag_moistureState, "Get");
            
            var tag_lightState = tag.lightState;
            KumoApp.Log("lightState "+cur_name+" ("+isy_variable_lightState+") updated to "+tag_lightState);
            KumoApp.httpCall(isy_RESTcall+isy_variable_lightState+"/"+tag_lightState, "Get");
            
            var tag_temperature = Math.round((tag.temperature * 9/5 +32) * 10)/10;
            KumoApp.Log("temperature "+cur_name+" ("+isy_variable_temperature+") updated to "+tag_temperature);
            KumoApp.httpCall(isy_RESTcall+isy_variable_temperature+"/"+tag_temperature, "Get");
            
            var tag_moisture = Math.round(tag.moisture);
            KumoApp.Log("Humidity for "+cur_name+" ("+isy_variable_moisture+") updated to "+tag_moisture);
            KumoApp.httpCall(isy_RESTcall+isy_variable_moisture+"/"+tag_moisture, "GET");
            
            var tag_lux = Math.round(tag.lux);
            KumoApp.Log("Humidity for "+cur_name+" ("+isy_variable_lux+") updated to "+tag_lux);
            KumoApp.httpCall(isy_RESTcall+isy_variable_lux+"/"+tag_lux, "GET");
            
            var tag_lit = Math.round(tag.lit);
            KumoApp.Log("Humidity for "+cur_name+" ("+isy_variable_lit+") updated to "+tag_lit);
            KumoApp.httpCall(isy_RESTcall+isy_variable_lit+"/"+tag_lit, "GET");
            
            var tag_battVolt = Math.round(tag.batteryVolt * 1000)/1000;
            KumoApp.Log("BatteryV for "+cur_name+" ("+isy_variable_batteryVolt+") updated to "+tag_battVolt);
            KumoApp.httpCall(isy_RESTcall+isy_variable_batteryVolt+"/"+tag_battVolt, "GET");
            
        } else {
            KumoApp.Log("Data from non-configured device: "+cur_name);
        }
};
}
);

post-9071-0-61531800-1490591351_thumb.jpg

Posted

Oh yeah... if it matters I am running firmware 4.5.4 on my ISY - see screen cap below for other details.

post-9071-0-95857600-1490591951_thumb.jpg

Posted

Hi Joe. See the screenshot in post 52 of this thread and you'll see how the voltage variables are displayed on my ISY, and the bold print in post 54 for a possible solution to the missing data for your second tag - this tripped me up similarly.

 

 

Sent from my iPhone using Tapatalk

Posted (edited)

Oh yeah... if it matters I am running firmware 4.5.4 on my ISY - see screen cap below for other details.

Oops, 4.5.4 doesn't support decimals in variables, as far as I know. You'll need to do some math on the values prior to sending them to your ISY.

 

Edit: I don't think I changed the original formula for the voltage values in my app, which needs a variable precision of three. You'll need to change the formula for firmware 4.5.4, I suspect.

 

Sent from my iPhone using Tapatalk

Edited by Bumbershoot
Posted (edited)

I seem to have taken this thread off topic... Sorry. I have requested that a new sub-section under Third Party Products be started for Wireless Sensor Tags. Refer to this post for the details: http://forum.universal-devices.com/topic/21449-new-section-in-third-party-products/.

 

Regarding mailbox monitoring... I have successfully deployed a wireless ELK-6020 reed switch on (inside) my all-metal mailbox. Of course use of this sensor requires that you have the Elk M1 Gold security panel (or the EZ8) and the ELK-M1XRFTW two-way wireless transceiver. Assuming you have these components it works great. I get an announcement every time my mailbox is opened and if it is opened at night my front yard security lights automatically turn on.

Edited by joe
  • Like 1
Guest
This topic is now closed to further replies.

×
×
  • Create New...