[DEPRECATED] EchoSistant Evolved ~ Amazon Echo's Only Assistant with Robust Scheduling and Flexible Reporting

@SBDOBRESCU + Others, First of all, thanks alot for this amazing app, i was using ask alexa, big talkers etc. to make it happen until now as well as an awesome job in instant response and superb documentation (we don’t see that level of documentation these days, the documentation can be reference template for others :+1: :clap:)

@SBDOBRESCU → Thanks for the tip for label, my situation is I do have a lot of switches and other devices without label. Smart-things allows label to be a nullable field, and I generally use name. Is there a possibility we can have null check there and use name instead if label is null?

1 Like

@SBDOBRESCU I finally updates all my switches to have label, but encountered another error :sweat:

 11:35:44 AM: error groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.util.Date(java.util.ArrayList) @ line 4590
 11:35:44 AM: debug Feedback data: (fDevice) = 'garage door sensor', (fQuery) = 'what's', (fOperand) = 'undefined', (fCommand) = 'undefined', (fIntentName) = 'feedback'
 11:35:44 AM: debug Begining Process data: (event) = 'feedback', (ver) = '4.0', (date) = '2/17/2017', (release) = '4.0.00'; data sent: pContinue = 'false', pShort = 'false', pPendingAns = 'false', versionSTtxt = '4.0', releaseSTtxt = 'R.0.3.4' outputTxt = 'null' ; other data: pContCmdsR = 'caps', pinTry'=null'
 11:35:44 AM: debug Launch Data: (event) = 'feedback', (Lambda version) = '4.0', (Lambda release) = '4.0.00', (ST Main App release) = 'R.0.3.4'
 11:35:44 AM: debug ^^^^____LAUNCH REQUEST___^^^^

Corresponding line in SmartApp:

currTime = new Date(date + location.timeZone.rawOffset).format("hh:mm aa")   

I have no clue, how come (date + location.timeZone.rawOffset) is resulting in ArrayList!! Do i have some terrible setup :confused:??

First of all, thank you for your feedback… I am glad you find our project useful. V4 is just the warm up. The future version will take the Alexa experience to a whole new level.

The reason why we settled for the label, is because for a physical device (included or joined) the name that gets inserted is the type of device. We will add to look for the name if a lable is not there. Good suggestion…

I am scratching my head too about the ArrayList error. Let me check…

I see why :slight_smile: Where are you located?

You can PM if you don’t want to disclose your location in public :slight_smile:

I added a debug statement to see the value of date and timezone offset, this is what i got:

Date Value: [1496989969927, 1497220285245, 1496617066160, 1497475356654] Timezone: -21600000 Type: cBattery

The array of date is causing the issue. Why it is an array no clue, may be different timestamp because of my location!!
We can add a check isArray() then pick the first one [I believe difference of milliseconds in different timestamp should not make a difference], else existing logic we have?

@SBDOBRESCU
As a patch i added below code:

try {
    date = date[0]
} catch(e) { }

I am not an seasoned programmer of groovy, so is there a better way. I tried getClass() but i get security exception as smartthings have blocked access to those functions! it’s working out for me. but want to know if there is a better way and any plan to include that better way in future version of code!! All my z-wave devices with battery report this issue when they try to get datetime from battery!

1 Like

We are redoing most of our work in upcoming version. While v4 has been about breaking ground of capabilities and attributes, v5 is about optimization and feature consolidation, without limiting existing functionality but improving it. :smile:

I’ll get that fixed with a hotfix shortly :smile: Thanks for the bug report…

I’m coming over from another thread that I had started that lead me to EchoSistant as the solution… Above is where I left off with bamarayne. I’m trying to get a humidity reading using an Aeotec ZW100 Multisensor 6.

Temperature works:

Question: “Alexa, ask the house what is the temperature in the attic?”
Answer: “The temperature in the attic is 77 degrees and was recorded today at 02:14 PM , would you like anything else”

Humidity, no.

Question: “Alexa, ask the house what is the humidity in the attic?”
Answer: “Sorry, I heard that you were looking for feedback on a device named attic but Echosistant wasn’t able to help, would you like to try again?”

Also this issue with motion.

Question: “Alexa, ask the house is there motion in the attic?”
Answer: “I couldn’t quite get that, but attic has 7 capabilities. Would you like to hear more about this device?”

Question: “Alexa, ask the house is there motion in attic?”
Answer: “no, the Attic is not motion”

Seems like the “the” is not a problem for temperature but it is for motion. Humidity won’t work at all, though. I’m feeling like this is more a problem in some code that it is something I can fix myself, right?

I do not see the option for any humidity sensors in the EchoSistant app. Under “Automation → SmartApps → EchoSistant → Main Home Control → Select Devices” Attached is all I have.

I’m sorry… we actually didn’t put humidity into the app… but we can fix that!

For temperature… just do like you did above…

For motion… try this…

Alexa, ask the house to tell me about the attic
or
Alexa, is the attic active

Tell me what you would like to be able to say… and I’ll get that fixed right up for you.

1 Like

Ok… Here is what I’ve made for you…

Alexa, ask home to check the attic for motion
Alexa, ask home to check for motion in the attic
Alexa, ask home is there motion in the attic
Alexa, ask home is the attic active

I’ll push the update in a few minutes…

2 Likes

Correction to my statement above…

I’m going to iron some things out. I plan to push an update by Sunday. It’s going to have a few more things than what is in my previous post.

Thanks for being patient.

Awesome, you are the man! I tried “Alexa, ask the house to tell me about the attic” and “Alexa, ask the house is the attic active” and they both worked great. The second one gave me the information in a format I liked the best, though. The answer was “Attic has been inactive since Tuesday, June 20 at 08:53 PM”.

You think it would be possible to get something like this out of a sensor like I have? Should I try something custom on my own or would it be something you do for everyone? I don’t know how many people have these sensors or even care about this type of setup, so just let me know if I should work on it on my end just for me. I’m a pretty quick study and will start really getting into this now.

Question: “Alexa, ask the house to tell me about the attic.” or “Alexa, ask the house to give me a report on the attic.”
Answer (USB Powered): “The temperature is currently at 72.7 degrees, relative humidity is 66 percent, light levels are dark, UV index is at 0, motion has been inactive since Tuesday, June 20 at 08:53 PM”
Answer (Battery Powered): “The temperature is currently at 72.7 degrees, relative humidity is 66 percent, light levels are dark, UV index is at 0, motion has been inactive since Tuesday, June 20 at 08:53 PM, and battery level is 78 percent.”

This thing also has lux and UV index but I can’t seem to figure out how to get that out of it besides seeing it on the SmartThings app

.

That would be cool. I would put one of these in every room and can get a general report of the conditions in any given room. Temp, humidity, light levels, motion activity, etc. I have a custom enhanced device handler for this device now after I read more into it. I wonder if I have to change something on that end.

I know this might sound like useless info at the moment, but I would hope eventually there would be a way to use this data and poll all the sensors and take an average to get the general status of the house. You know, do this in baby steps but have the end goal in the back of our minds. Eventually the langauge could be very fluid and conversation like:

Question: “Alexa, ask the house to give me a quick status report.”
Answer: “The house has been quiet for most of the day with no movement, a little warm upstairs but cooler downstairs. Nothing unusal to report.”

Idk, I’m just making stuff up now but you get the idea.

Question: “Alexa, ask the house to give me a detailed status report.”
Answer: [Here it would be a longer more technical answer with averages of temp, humidity, etc. as well as listings of motion in different areas, etc.]

Am I nuts? or is this something people would be interested in?

webCoRE should do it.

Ok, perhaps I am a dolt, but the lambda setup @ amazon seems to have completely changed since the wiki was done … is there an updated idiot’s guide to installing?

I got to a point where I went nuclear and deleted the smart app (and child apps) as well as the lambda bits

I am not aware of any dramatic changes on the Lambda side. Can you post some pictures?

Actually, I’ve been working on some of this… I just haven’t released it yet.

and yes, there is interest in those kinds of responses from Alexa

1 Like

Can EchoSistant be triggered to ask a question and carry out the command?
Say I open the door, a welcome messages is played followed by “Would you like to here some music”

1 Like

That’s an interesting concept… and I’m betting that it can be done

When I saw there is some integration with webCore it was the first thing to come to mind. Haven’t had time to explore it yet.

1 Like