Asked — Edited

ARC External Interface

Hi all,

I love what DJ has done with ARC and all the enhancements that have been made and continue to be made. Having the SDKs are awesome but I really like what DJ has already done in ARC (why would I want to write custom code?).

I have been doing Home Automation for years now and just recently robotics has sparked my interested and now I am addicted!

I want to interface ARC with my Home Automation System and other programs. Because I am not an extreme coding guru my question is "How hard would it be to conrol ARC software and vice versa from within Windows? In other words could an interface be added to ARC that would allow control of ARC through either TCP/IP interface using or even a command line to allow execution of a command (ControlCommand maybe to execute a command line) from within ARC? I know DJ has talked about variables and other things in ARC, but just some basic external interface in the ARC would only add to an already awesome piece of software.

Scenario: Your home security system detects an open zone (front door maybe). Robot moves to the Foyer area. Alarm system counts down as zone has been opened...standing by for home owner to enter the passcode into the keypad.......the robot speaks "Please speak the correct pass phrase".....robot does some cool....maybe intimidating stuff waiting for the user to speak the correct passcode. If correct pass phrase is spoken the robot welcomes you come with a dance and some cool greeting and launching of your MP3 Jukebox (MediaMonkey or WinAmp (these both can be easily launched/controlled through command line). Otherwise the alarm goes off and the robot moves into a 'Security Breeched' posture and another windows batch file is executed to send a page to your cell phone.

Maybe I am thinking too far outside the box...but I think this would be really really cool...I am already able to 'send keys' to ARC using a software called 'AutoHotKey' which is a little klunky. Without some mod to ARC, My main problem is sending control information FROM ARC that could be received by another program. Any thoughts or ideas?

v/r

Kevin


ARC Pro

Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

#1  

I had suggested a while ago something to add to DJ's long list of planned enhancements a way for us to add our own modules into the EZ-B framework so we don't need to recreate all his work if we want to use the SDK to integrate into our own stuff, but could integrate our stuff into ARC.

In the mean time, I have been thinking about other options. Auto-Hotkey is one that would certainly give some simple capabilities, and it is pretty powerful.

Another option that would never show up in a search for this, but would work is something called OpenSpan Desktop Automation. It is a toolkit that integrates into Visual Studio and can basically "steal" commands from one application and apply them to another and vis-versa. It is used a lot in the Call Center industry to do screen pops from old legacy backend applications with limited programming.

To distribute what you create costs $600 per desktop, but the development kit is free and if you run the app on the same desktop with ARC and Visual Studio installed then you don't need a license.

http://www.openspan.com/products/desktop_automation/

I know the product manager, and I am going to ask him about whether they can do special licensing for hobbyists/home automation.

Alan

#2  

Hi Alan,

That certainly sounds like something that would work well. I am so impressed with the ARC environment right now and with DJs updates coming out all the time I just would not want to have to re-create my own app when I have all the controls I need or would want to use in ARC.

I will continue to look at this. They key to my home automation has been getting many software and hardware systems to work together so you are not creating already good products but engineering the system that is reliable.

I have found that if you are going to use Autohotkey send ARC commands you want to have the windows floating so you can target them easier for control. Sounds like you have used it.

Looking for more on this. Maybe there will be a something like software plugins for EZ B along with EZ Bits where something like xAP or Python scripts could be leveraged.

Kevin

#3  

Hey All,

Thanks to DJ Sures and his awesome external interface I am happy to unveil my Home Automation System EDGAR and its interface to my robot LEGION. EDGAR stands for Electronic Data Gathering and Automation Resource. EDGAR controls lots of stuff in my house. He even Tweets! Anyway his latest interface is to ARC and my robot LEGION. I hope to have some more vids to put up in time. EZ-B Rocks!

LEGION Project

v/r

Kevin ;)

LEGION Project

PRO
Synthiam
#4  

DUDE! That is unreal! We all watched it and are super impressed. Love to see more of it! So many details. Love the weather and the graphing and the city cam and the security and everything.

I have to say, when you all build something - it fuels me to build more features for you! I have a good idea. Tomorrow i'll make a video with a new feature i just finished. You'll love it :)

#5  

That looks Great Kevin.

Other than driving the bot from the interface, are you planning on having the robot respond to household events (like start patrolling when security is armed, or investigate movement detected in a room), or the opposite, like if it goes into a dark room in its wanderings, send the home system a command to turn on the lights for it?

What do you use for your automation platform? Is that Homeseer with one of the custom skins, one of the other commercial systems, or totally home grown (I was using Homeseer, but with mostly X10 stuff, and could never get the Wife Acceptance Factor high enough due to X10's poor reliability to have her let me spend on the reliable stuff. Catch 22)?

Alan

#6  

Thanks,

I am planning on on both types of interaction between the bot and the HA System.

I use Housebot for home automation. I love it even though it may not be updated as much as Homeseer or HAL2000. I will say in my time doing Home Automation I have worked with several software systems including Homeseer, HAL2000, and Event Control System. Housebot is windows based and while very simple out of the box can be extremely powerful with customized scripts and plugins. While Andriod and IOS devices are not directly supported yet (I have to use Remote Desktop Client), there is someone working on a web based plugin. Housebot is also way cheaper than the other programs out there.

Here is my website that I am still working on that talks about it more. The site is still under construction.

EDGAR Web Site

I totally understand the WAF....as I have had certain things in the house automated that I have actually shut off (like the ability to send a text message to the house and have the whole house audio system speak it out). That would freak my wife out if/when she was alone at home.

v/r

Kevin

#7  

Holy Carp!!!!! You must feel like IRON MAN! with a computerized House Butler!:)lol

Canada
#8  

This is exactly what I'm looking to do as well with Brewster Beer buddy great post kkeast. You can see my Home Automation vid here (sorry video is a few years old needs updating) I m running Homeseer with Mainlobby and need to somehow figure out how to have homeseer send commands to Brewster via vb scripting. Bluetooth plugins seem a possible solution but where to start. I have seen some plugins on the homeseer site but after reading the posts setup seems to be a real problem for most. Any Ideas would be great.

#9  

Will the EZ-B V4 and WiFi open up any doors for your interface ?

United Kingdom
#10  

The doors are already open. Telnet is the key to communication between ARC and other software.

I'm not familiar with HomeSeer or Mainlobby since my HA system is pretty much all dealt with through EventGhost and a lot of custom code etc. but if there is a TELNET or a Python plugin for them then you can use that. I believe @kkeast uses python and telnet for the cross communication (however haven't seen any posts from @kkeast for a while).

Another method could be using the HTTPGet() command to scrape info from web pages. Jarvis used to use this method and would scrape info from a bunch of PHP pages that basically displayed info stored in the MySQL database my HA uses to log everything. Basically doing things the other way around, getting the robot to check the status of the security system and acting differently depending on the status.

#11  

@kkeast,

I would like to see your Python scripts.

Thanks,

Mel