blueman2 Posted October 11, 2016 Author Posted October 11, 2016 No worries. But do pass your thanks along to the people at 3PO-Labs who made all of this possible. They are doing it for free because they like what we are doing with Alexa for home automation. Quote
memphis2k Posted October 23, 2016 Posted October 23, 2016 I am having problems understanding the logic on checking a SwitchLinc current state device. I already keep tracking of the current state and count each "on" per device. So would I need to create two network resources, one ran from each program? If office light control = on ---- run network resource Alexa saying the office light is on If office light control =off ---- run network resource Alexa saying the office light is off Thanks & this thread may become very useful. Quote
nadler Posted October 26, 2016 Posted October 26, 2016 I wanted to thank Blueman2 again for his clear and detailed instructions. I also added a step to enable Alexa to Tell Me the current inside temperature on my two Nest thermostats. I replaced two insteon thermostats which integrated well with ISY (but didn't always work so well) with two NEST thermostats which work well but do not integrate with ISY. I missed my previous thermostat integration with ISY but was unwilling to use a Raspberry-pi or a computer on 24/7 to get the integration. What I now use is ISY's ability to integrate with IFTTT and NEST's ability to integrate with IFTTT. Now I can ask "Alexa, TELL ME the temperature" and she replies with the upstairs and downstairs temperature on the NESTs. First I followed the Wiki to enable ISY to talk to IFTTT and vica versa. https://wiki.universal-devices.com/index.php?title=ISY_Portal_IFTTT_Integration Then from IFTTT I used the NEST channel and the MAKER channel to create a recipe which sends the temperature to an ISY integer variable. This required about 40 recipes one for each degree the temperature rose and one for each degree the temperature fell and a set for each Nest (upstairs and downstairs) - so I have 40 recipes. However, they took less than a minute each to create. Every time the temperature rises or falls 1 degree the NEST cloud tells IFTTT which then triggers one of the recipes which sends the actual degree that the nest rose or fell (i.e. the Downstairs Nest was at 69 degree and it fell to 68 degrees) the IFTTT recipes sends 68 to the ISY variable.. Next, I created a program in ISY which recognizes that the variable has changed and triggers the network resource as described by Blueman2 in the first post of this thread. So this killed two birds with one stone. I now have the actual upstairs and downstairs temperatures in ISY that I can use for any purpose I wish AND Alexa can speak those temperatures when asked. The downside is that I only get the actual temperatures of the Nests. I don't get the setpoints or any other information the Nest provides. Alexa, however can directly change the setpoints but not through ISY. If anyone is interested in greater detail, I'd be happy to share. Quote
Outlander Posted October 26, 2016 Posted October 26, 2016 (edited) I wanted to thank Blueman2 again for his clear and detailed instructions. I also added a step to enable Alexa to Tell Me the current inside temperature on my two Nest thermostats. I replaced two insteon thermostats which integrated well with ISY (but didn't always work so well) with two NEST thermostats which work well but do not integrate with ISY. I missed my previous thermostat integration with ISY but was unwilling to use a Raspberry-pi or a computer on 24/7 to get the integration. What I now use is ISY's ability to integrate with IFTTT and NEST's ability to integrate with IFTTT. Now I can ask "Alexa, TELL ME the temperature" and she replies with the upstairs and downstairs temperature on the NESTs. First I followed the Wiki to enable ISY to talk to IFTTT and vica versa. https://wiki.universal-devices.com/index.php?title=ISY_Portal_IFTTT_Integration Then from IFTTT I used the NEST channel and the MAKER channel to create a recipe which sends the temperature to an ISY integer variable. This required about 40 recipes one for each degree the temperature rose and one for each degree the temperature fell and a set for each Nest (upstairs and downstairs) - so I have 40 recipes. However, they took less than a minute each to create. Every time the temperature rises or falls 1 degree the NEST cloud tells IFTTT which then triggers one of the recipes which sends the actual degree that the nest rose or fell (i.e. the Downstairs Nest was at 69 degree and it fell to 68 degrees) the IFTTT recipes sends 68 to the ISY variable.. Next, I created a program in ISY which recognizes that the variable has changed and triggers the network resource as described by Blueman2 in the first post of this thread. So this killed two birds with one stone. I now have the actual upstairs and downstairs temperatures in ISY that I can use for any purpose I wish AND Alexa can speak those temperatures when asked. The downside is that I only get the actual temperatures of the Nests. I don't get the setpoints or any other information the Nest provides. Alexa, however can directly change the setpoints but not through ISY. If anyone is interested in greater detail, I'd be happy to share. I did this as well with Insteon thermostats for upstairs and downstairs. I just update the two variables every time they change. I am not certain if you could do the same with the Nests? Contemplating switching from the Insteon thermostats to something else but working well so far. Edited October 26, 2016 by Outlander Quote
blueman2 Posted October 26, 2016 Author Posted October 26, 2016 I am having problems understanding the logic on checking a SwitchLinc current state device. I already keep tracking of the current state and count each "on" per device. So would I need to create two network resources, one ran from each program? If office light control = on ---- run network resource Alexa saying the office light is on If office light control =off ---- run network resource Alexa saying the office light is off Thanks & this thread may become very useful. Sorry, memphis, I was traveling. But yes, you would create 2 network resources and trigger each one via a program so that the phrase is updated as needed. Quote
hbskisurf Posted October 27, 2016 Posted October 27, 2016 This is a great write up! I'm still a bit confused - how do you setup the variable for temperature? Can you share the example program you are using to populate State Variable #17 with the temperature of your Insteon thermostat. Thanks! Quote
larryllix Posted October 27, 2016 Posted October 27, 2016 This is a great write up! I'm still a bit confused - how do you setup the variable for temperature? Can you share the example program you are using to populate State Variable #17 with the temperature of your Insteon thermostat. Thanks! That would take v5.xxx or a series of programs based on each temperature threshold or a NR that sends the current temperature to ISY (itself) for every change in temperature above say...-1C Quote
Outlander Posted October 27, 2016 Posted October 27, 2016 That would take v5.xxx or a series of programs based on each temperature threshold or a NR that sends the current temperature to ISY (itself) for every change in temperature above say...-1C Sorry, yes I am using 5.06 to update the variables. I compare the actual temperature with my stored variable and if not the same, update variable, and update Responder with network resource. I have a similar program for the downstairs temperature. TempUS2Vars - [iD 009F][Parent 0023] If 'Temperature / Upstairs Main' Temperature is not '$UpstairsTemp Degrees' Then $UpstairsTemp = 'Temperature / Upstairs Main' Temperature ° Resource 'RespMainTemperature' Else - No Actions - (To add one, press 'Action') Quote
Outlander Posted October 27, 2016 Posted October 27, 2016 (edited) This is a great write up! I'm still a bit confused - how do you setup the variable for temperature? Can you share the example program you are using to populate State Variable #17 with the temperature of your Insteon thermostat. Thanks! I am not using a state variable, as a normal integer is working fine for me right now. I am able to get 0.5 degree (Celsius) precision from the Insteon thermostat and the above program. The variable number is used in the Network Resource to update the Intent in your skill. Edited October 27, 2016 by Outlander Quote
blueman2 Posted October 27, 2016 Author Posted October 27, 2016 (edited) Sorry, yes I am using 5.06 to update the variables. I compare the actual temperature with my stored variable and if not the same, update variable, and update Responder with network resource. I have a similar program for the downstairs temperature. TempUS2Vars - [iD 009F][Parent 0023] If 'Temperature / Upstairs Main' Temperature is not '$UpstairsTemp Degrees' Then $UpstairsTemp = 'Temperature / Upstairs Main' Temperature ° Resource 'RespMainTemperature' Else - No Actions - (To add one, press 'Action') If you use a State variable, you can simplify this: If 'Temperature / Upstairs Main' Temperature is > 0 Then Resource 'RespMainTemperature' Else - No Actions - (To add one, press 'Action') This works because State variables are only evaluated upon change. So if it changes, the IF becomes true and the THEN is executed. Well, so long as your temperature remains above 0. You could put > -255 to be safe! Edited October 28, 2016 by blueman2 Quote
larryllix Posted October 28, 2016 Posted October 28, 2016 I am not using a state variable, as a normal integer is working fine for me right now. I am able to get 0.5 degree (Celsius) precision from the Insteon thermostat and the above program. The variable number is used in the Network Resource to update the Intent in your skill. You can use either type of variable but if you want to trigger programs from it in other programs you will eed to utilise a State variable type, as mentioned by blueman2 above. 1 Quote
Outlander Posted October 28, 2016 Posted October 28, 2016 If you use a State variable, you can simplify this: If 'Temperature / Upstairs Main' Temperature is > 0 Then Resource 'RespMainTemperature' Else - No Actions - (To add one, press 'Action') This works because State variables are only evaluated upon change. So if it changes, the IF becomes true and the THEN is executed. Well, so long as your temperature remains above 0. You could put > -255 to be safe! Thanks BlueMan, I know I tried something like this at first but wasn't getting the results I expected. Probably a stupid mistake I made in my Network Resources. I will experiment more with this tomorrow. Quote
n8huntsman Posted November 5, 2016 Posted November 5, 2016 I'm using an Autelis device to control my pool. The device also passes status, such as pool and spa temp, back to ISY in a state variable. I have been unable to figure out any way of querying alexa for the spa temp variable. This appears like it is my solution. Am I correct, or is there an easier way. I wish variables were treated as devices so I could simply say, "alexa, ask isy the status of variable xyz." Quote
nathagt Posted November 13, 2016 Posted November 13, 2016 First, thanks for the guide. This is great! I have mine giving me security status, inside temp, and fan speed currently. Question: Is it possible to do an IF or CASE type statement in the body of the network resources code? Something like... IF ${var.2.3} = 1 THEN <speak> this <speak> ELSE <speak> that <speak> I don't know what the syntax would be, just trying to think of ways to create less resources. 1 Quote
memphis2k Posted November 14, 2016 Posted November 14, 2016 First, thanks for the guide. This is great! I have mine giving me security status, inside temp, and fan speed currently. Question: Is it possible to do an IF or CASE type statement in the body of the network resources code? Something like... IF ${var.2.3} = 1 THEN <speak> this <speak> ELSE <speak> that <speak> I don't know what the syntax would be, just trying to think of ways to create less resources. I don't believe so but others should chime in. I'm at around 80 Network resources just for Alexa - On/off - Open/close etc. ISY v5.0* I believe allows decimal points, and maybe String variables. Strings for me would reduce Network Resources. Alexa - tell me which gates are open. Right now, she will tell me one or more is open. Would be nice to return a String saying which gate in terms of a $var*.* I'm very happy with the results, no one can believe how much time I have programming into my house. I can't wait for Alexa just to start shouting at me. "You left the gate open, you fool... and now the dog is swimming in the pond." Via RFID and IOLincs. Quote
trevorst Posted November 20, 2016 Posted November 20, 2016 I have the basic coding done and working, thanks to Bluemans great guide . Now I need to get the data from my Aeotec Sensors into variables. Any help would be appreciated, examples are especially so:) Quote
blueman2 Posted November 21, 2016 Author Posted November 21, 2016 I have the basic coding done and working, thanks to Bluemans great guide . Now I need to get the data from my Aeotec Sensors into variables. Any help would be appreciated, examples are especially so:) What version of ISY are you on? As I recall, you might need to be on 5.x in order to read z-wave values into variables. Quote
trevorst Posted November 21, 2016 Posted November 21, 2016 I am only on 4.x so I may be out of luck.... Quote
jndsoccer Posted November 23, 2016 Posted November 23, 2016 Blueman2 - Thanks for the step by step instructions. I followed everything and double checked my cut-and-pastes but I keep getting "Error: TCP client request failed [Net Module Rule 1:400]". It appears I still don't have something connected quite right. I'm very new to the net resources stuff. Any place that is well documented for beginners that you can recommend for me to start debugging? It seems most of the Wiki and Forums are great references for those who know what is going on, but few (other than your great step by step with examples) for us newbies. ISY 994i v4.5.4 w/Portal Integration Thanks again Quote
blueman2 Posted November 23, 2016 Author Posted November 23, 2016 (edited) Blueman2 - ..I keep getting "Error: TCP client request failed [Net Module Rule 1:400]". Does this show up in the pop-up box when doing the 'Test' of the resource? If so, please copy and paste your network resource info so I can view it. Screen capture would be fine. Also, double check you are using Mode:C-escaped and Select Content Type: application/json Edited November 23, 2016 by blueman2 Quote
jndsoccer Posted November 23, 2016 Posted November 23, 2016 Blueman2 - Yes, it's the popup when I try to test it. Here is my Network Resource definition. One other weird thing, when I click on "more Info" in the Portal tab, I never get the page to load. Quote
blueman2 Posted November 23, 2016 Author Posted November 23, 2016 I see you still have ${var.2.17} in there. Do you have that variable defined? If not, delete that reference. But everything else looks right. Quote
jndsoccer Posted November 25, 2016 Posted November 25, 2016 I finally got it working. The problem ended up being that when I copied the example for the resource, I was using the MS Edge browser and it ended up putting some weird characters (0xC2 0xA0) for each leading space on each line . When I just retyped it, or used Chrome to copy it so the spaces were 0x20, everything was fine. I also was able to use "Raw Text" rather than "C-Escaped" to keep the code in the Body window in a sane format. Quote
blueman2 Posted November 25, 2016 Author Posted November 25, 2016 (edited) I finally got it working. The problem ended up being that when I copied the example for the resource, I was using the MS Edge browser and it ended up putting some weird characters (0xC2 0xA0) for each leading space on each line . When I just retyped it, or used Chrome to copy it so the spaces were 0x20, everything was fine. I also was able to use "Raw Text" rather than "C-Escaped" to keep the code in the Body window in a sane format. Great! And I will definitely try the raw text. I have the way the formatting gets changed when editing the line! EDIT: jndsoccer, you are right!!! The Raw Text mode does work much better. I changed the How To to reflect this and gave you credit for the find. Edited November 26, 2016 by blueman2 Quote
Guitartexan01 Posted December 24, 2016 Posted December 24, 2016 Yep. Pretty awesome. Sent from my iPad using Tapatalk Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.