Joe Posted March 26, 2017 Posted March 26, 2017 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?
Bumbershoot Posted March 26, 2017 Posted March 26, 2017 (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. Edited March 26, 2017 by Bumbershoot
Joe Posted March 26, 2017 Posted March 26, 2017 (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: 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? What is the name of the high-level language in which this code is written? Where do I put this code? Edited March 26, 2017 by joe
Bumbershoot Posted March 26, 2017 Posted March 26, 2017 (edited) Thanks Bumbershoot. I'm quoting post # 169 including the code for easy reference: joe's Questions: 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? What is the name of the high-level language in which this code is written? Where do I put this code? 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. I haven't written any Javascript in better than ten years, but this is certainly what it looks like. 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. Edited March 26, 2017 by Bumbershoot
Joe Posted March 26, 2017 Posted March 26, 2017 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); } }; } );
Bumbershoot Posted March 26, 2017 Posted March 26, 2017 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.
Bumbershoot Posted March 26, 2017 Posted March 26, 2017 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.
Joe Posted March 26, 2017 Posted March 26, 2017 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!!
Bumbershoot Posted March 26, 2017 Posted March 26, 2017 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?
Joe Posted March 26, 2017 Posted March 26, 2017 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: tag.temperature tag.moisture tag.hasMoved tag.angleX tag.angleY tag.batteryVolt 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?
Joe Posted March 26, 2017 Posted March 26, 2017 Never mind. I figured it out. Actions, Events, and Properties for each device type are all described at this link: http://wirelesstag.net/kumoapp/17/tags-kumosensors-kumostats
Joe Posted March 27, 2017 Posted March 27, 2017 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)?
Scottmichaelj Posted March 27, 2017 Posted March 27, 2017 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?
Bumbershoot Posted March 27, 2017 Posted March 27, 2017 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.
Joe Posted March 27, 2017 Posted March 27, 2017 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); } }; } );
Joe Posted March 27, 2017 Posted March 27, 2017 Oh yeah... if it matters I am running firmware 4.5.4 on my ISY - see screen cap below for other details.
Bumbershoot Posted March 27, 2017 Posted March 27, 2017 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
Bumbershoot Posted March 27, 2017 Posted March 27, 2017 (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 March 27, 2017 by Bumbershoot
Joe Posted March 27, 2017 Posted March 27, 2017 (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 March 27, 2017 by joe 1
Recommended Posts