A TRUE Smart Home...HAS JARVIS!

Correct…I was thinking in terms of just SmartThings…but didn’t realize Eric used IFTTT for more than just the basics of turning lights on and off.

Good conversation today on this!

Yep :slight_smile: my goal was to make Jarvis an actual house automated personal assistant, where I can give detailed commands to control things in my every day life.

1 Like

Eric,
I am using a very powerful “server” as my HTPC, but also as the Jarvis host… However, it is situated in my living room (hidden away in a ITX design) under the big screen, so I use a switch to run different inputs into my big screen (HDMI1=CableTV; HDMI2=HTPC, etc). How are your outputs (sound) coming through from Jarvis (through Home Theater System?)? Do you have any advice as to how to mitigate switching between inputs prior to coming home, leaving, etc.? Also, I plan on putting some speakers in the ceiling of each of my main rooms (Living, Dining, Kitchen, MBR, Sunroom, etc.), but still haven’t figured out how to make them “wireless” or get around running audio cable all the back through joists, etc. Any help is appreciated!

My system uses Teamspeak to make that ‘group’ like function. So what I had to do was connect all my speakers to teamspeak. That means you’d have to have a smart device capable of running a teamspeak app or somehow connecting to the server in order to send data to them. Otherwise, your internal system is tied up with Jarvis communicataing to teamspeak. It’s almost like Jarvis just needs its own dedicated computer so that your home computer’s audio system is slave to Jarvis. I’m not sure if there’s a way to do that in a virtual PC, but it’s a thought to be tested out.

As far as migrating switching, I’m not entirely sure what you’re asking. Unfortunately making speakers wireless is very difficult to do without spending a lot of money doing it. I would suggest STAY AWAY from bluetooth as much as possible, it’s just HORRIBLE quality! This is why I had to use teamspeak, it was the simplest way to make a speaker ‘wireless’ when it’s really not, it’s just attached to a device that’s logged into a teamspeak server as a ‘user’ (like, username: kitchen), who can hear all things in that group. I’d like to work more on this feature with teamspeak but I haven’t got the time. If someone can figure out how to make the following system I think it’ll work wonders for everyone else:

create a home intercom system with teamspeak and speakers throughout the house in each and every room. You’ll have to configure one room to ignore the inputs from another room so as not to cause feedback. This will take some figuring out, as the strength of your speakers play a role here. Putting each ‘room’ in its own group would be nice if you could track where in the house a person is actually at, and based on the person’s location, a specific ‘room’ is moved to the ‘jarvis’ room, where they can issue commands and receive replies.

This is a huge project that I’m trying to put together with, quite frankly, crappy software and hardware. The truth is, there’s no real cheap and simple way to do what I want to do. What I might end up having to do is partner with some folks and actually build a system that does what we want, specifically for this purpose and more (obviously a niche market), and then market it to the obvious crowd who obvoiusly wants it. Clearly a lot of people would love this feature, but not many people want to sit down and build it. I for one am no coder, but I can think in puzzles and make things work when they aren’t really designed to work that way. What we need here are a few electronics engineers, web and software coders, and wireless engineers. Unless we can gather that kind of team, I’m afraid this dream is dead in the water.

So a new device coming out may add wireless whole room speaker/mic to this setup the Amazon Echo is currently in beta. You can request an invite at http://www.amazon.com/oc/echo/. Looks like it already controls Wemo devices and there is an API available so it shouldn’t take much to integrate it.

1 Like

The Echo has been available by invitation for about 6 months, many community members have it and some are signed up for the developer program. Amazing far field voice recognition. But the “shouldn’t take much” is a bit optimistic. See this topic for the heavy duty technical discussions:

And this topic for a nontechnical overview:

Granted I don’t have one but in the first post you linked he said people should find it “pretty easy to build really cools stuff.” I did request an invite but have not heard anything back yet. Once I do I’ll have a more clear picture of what I’ll be able to do. Although “shouldn’t be too hard” is a relative statement. However on another note there is also the option of using an open air mic with this setup such as MXL AC404 USB Conference Microphone. For the purposes of detecting who is where in the home you could potentially use Presence sensors in conjunction with motion sensors.

1 Like

I just saw that IFTTT has added the Maker Channel, this means HTTP GET and POST commands can be given to IFTTT. So this means I don’t think we need pushbullet anymore (depending on the speed at which IFTTT responds to HTTP GET and POST commands.) What do you guys think?

Hey Eric,

Just wanted to says huge thanks for all the information in this thread so far. Really helped me in setting this up for myself.

The recent Maker channel to IFTTT seemed to provide that direct link as well. Using the cURL command executable (easily send web requests from one command line entry) that was suggested on the Maker IFTTT channel really cuts the need for Eventghost to be used for simple commands. Allowing Jarvis and IFTTT to directly talk to each other which is awesome and seemed to have decent speed for me as well (within seconds).

The only thing I am still having trouble with is the Teamspeak setup you have and was curious if anyone had any insight on this. The concept seemed simple enough with trying to get the audio sound input on the Teamspeak client to be considered it’s microphone input and the audio sound output to be it’s microphone output but wasn’t sure why 3 VAC lines were needed to achieve this or what those three lines do exactly. Note, I am using the current trail version of VAC (only allows 2 lines? which may be an issue) and was trying to have Jarvis process/understand input from my iPhone client and not worry about output with just the 2 lines but still having trouble.

I am also trying to use Mumble instead of Teamspeak since the iphone app is free and had success with it as a tablet intercom setup before and would still use it for that in the future if can get it working. Anyone have any success doing this recently? I wanted to try and confirm this will work for me before purchasing anything.

Mumble appears to have the same setup where I can run multiple instances and select different audio input/output for each instance so I believe it should work the same as teamspeak.

I am also running the Jarvis on an HTPC focused machine and want to keep the ability to use the machine as the main audio source instead of making it a pure Teamspeak Jarvis slave as you mentioned but can try and tackle that problem after setting it up.

Thanks for all the info so far!

Nevermind! Got the teamspeak part to work using Mumble instead, so sweet!

Ended up using four lines and copied your setup exactly (I had the wrong/old VAC version for some reason but latest one one let me go up in channels to 3 to test it.)

1 Like

Is there a way to do this w/o using a PC? Perhaps just using something like my hub, sonos, and autovoice through my phone or Android wear watch?

You can achieve a lot of this using the tools you mentioned + SharpTools (a set of plugins for Tasker that I wrote).

1 Like

I do want to ask everyone’s help with something, if this is even possible. The usage of teamspeak is GREAT, I love the idea (or even Mumble for that matter), but the problem is that in order to use this setup, we have to use VAC (Virtual Audio Cables), which ends up utilizing my main speaker output and input and takes over my computer’s audio. I’d like to find a configuration that will make this work WITHOUT taking over my computer’s audio system, so that I can still use all my other programs without interference from Jarvis. This said, I think the biggest problem is that I can’t force jarvis to utilize a specific audio line other than the system’s default lines. Anyone figured out a way to do this yet?

I have discovered a solution to this problem! Chevolume seems to do the trick; although, it doesn’t seem to be free. It costs between $19.00 and $25.00, depending on whether or not they have a sale. Right now they have a sale, it’s $19.00. But it solves this issue PERFECTLY! Now I can connect teamspeak and jarvis without it messing with my audio systems.

http://chevolume.com/BuyNow.aspx

1 Like

Very cool project! Keep up the good work.

Shawn, do you have an updated writeup on how you have this setup? Or maybe you can update your original post? As the thread gets longer it’s harder to make sure newbies like me are using the latest greatest config :wink:

Hey,

The CheVolume idea is interesting… however, I couldn’t quiet see how to set it up for the same effect you have with the other way. How are you controlling the JARVIS listening/answering setup so it still works from teamspeak?

Thanks!

The original post I believe speaks for itself.

I’ve actually have trouble getting jarvis to work well with CheVolume and Teamspeak. I’m still trying to figure this one out. Until then, it seems the system’s default audio is going to have to be utilized by jarvis in order for this to work. A necessary evil for now.

Hello all and thank you for sharing your thoughts on this topic. I cannot really understand the problem with audio. When you say that jarvis " interferes " with the audio… Before any reply would assignment of multiple profiles help at all?
I mean if you make a " house" profile, " work" profile, “media” profile so u switch depending what you want to do.

I understand your solution deafman, please allow me to explain in more detail.

Your computer has a series of audio inputs and outputs, speakers and microphones. When you setup Jarvis, that software is setup to utilize the computer’s default input and output. So if you happen to have say two sets of speaker systems each on a different physical output and two separate microphones each on a different input, Jarvis will use whichever is your system’s default, the main audio profile you select.

In other words, Jarvis itself doesn’t let you pick and choose which audio system you use, it just uses the default. Your computer DOES have the option to let you pick and choose what SOME software uses. This is important because, let’s say you’re playing a game, you want the game’s audio, music, effects, to play through your loud speakers, but you want teamspeak or whatever to play through your headphones. You don’t want to use the PC’s mic that might be on the other side of the desk, but you might want to use your headset’s mic that’s next to your mouth for teamspeak.

So microsoft allows you to pick and choose for certain software what audio profiles to use, but Jarvis doesn’t come with this feature. This means, if you’re watching a movie, Jarvis will just blurt out over the movie. You also couldn’t specify which speaker Jarvis is to talk to in your house if you have speakers everywhere for a ‘smart house’ environment.

That is the issue. Chevolume attempts to correct this, but Jarvis’ code doesn’t allow for it to operate functionally. What it comes down to is that you can either have your computer’s audio through your speakers or through teamspeak, but you can’t have both until this issue has been resolved.