Hey Everyone...
I wanted to start a discussion on my goal to have a smart house with a Jarvis (Ironman) / Sarah (Eureka) like AI and my little ARC robot servants roaming around.
So feel free to jump in and contribute...
I have been using a combination of open source programs with my ARC software and EZBv3 boards. ARC is the brains of my system and provides me with the intelligent front end that responds to voice commands and communicates to my four EZB-3 boards. Lawrence, as I like to call it, replies to my voice commands using the Ivona Brian voice file. Sound very like Jarvis.
After recognising the voice command Lawrence selects what to say back to me from a pool of scripted phrases. This addresses repetitiveness in responses and adds a nice human-ish touch.
At the same time Lawrence is replying several scripts are firing commands to other applications or devices through an MQTT broker that I have installed. This Broker, from the Mosquitto open source project, acts like my AI's nervous system or neural net. I store values that are stored in the broker, similar to database that get reloaded to my various devices when they wake up.... I find this easier than an a database.
Various other devices are subscribed to the broker topics and act appropriately but you must have your own broker installed. I run mine on a separate Raspberry Pi elsewhere on my network. I keep it as a stand alone device as everything connects to it so if I need to reboot my PC it does not cause problems. It is fast, works well on the newer Pi3 and supposedly can handle 100,000 posts per second... I have only rebooted it a couple of times since installation and that was only because I wanted to move it.
So I post directly from ARC to my MQTT neural net with the EXEC command like this:
exec("C:\Program Files\mosquitto\mosquitto_pub.exe", "-h 10.1.1.120 -p 1883 -t /HOME/EZ-BUILDER/COMMAND -m Command:Lounge_Lights_On' ")
I also use a second program called EventGhost that watches for those MQTT messages and fires commands to other devices on my network that ARC can't talk to. I complete this action by triggering events in EventGhost with the same exec command in ARC:
exec("Eventghost", "-event Guest.Welcome.Video.Fullscreen")
exec("Eventghost", "-event It's_Spa_Time")
Another big player in my system is Rainmeter which adds great visuals to my screen. It lets me change the entire look and feel of the PC. While not tied directly to ARC I can launch ARC from a fancy picture on my desktop. This simple script in Rainmeter simply launches ARC when I click it. (I know I could use a shortcut but this looks way cooler)
[Rainmeter]
Author=Wayne
MiddleMouseDownAction=!DeactivateConfig
Update=86400000
MouseActionCursor=0
[Metadata]
Version=1.0
Information=Phone_Wayne TextItem
License=Creative Commons Attribution-NonCommercial-NoDerivs 3.0
[Variables]
height=60
[noimage]
Meter=Image
ImageName=#CURRENTPATH#\Tablet.jpg
W=(#Height#)
LeftMouseUpAction=["C:\Program Files (x86)\EZ-Robot Inc\EZ-Builder\EZ-Builder.exe" "C:\Users\Wayne\Dropbox\My Robotics\Launcher.EZB" "Autostart"]
[Title]
Meter=STRING
MeterStyle=sTitle
Text=WAYNE
FontSize=9
X=10
Y=55
FontColor=255,255,133,255
And of course OpenHAB is the most recent player to come to my table. As it can communicate with the same MQTT broker I am now extending my domain out from my workshop to the rest of the house. OpenHAB is giving me a nice web front end with switches and buttons, status updates, etc. This means ARC can now turn on my lights through MQTT from a simple voice command.
So friends .... My goal of Home automation with a responsive AI and little robot servants roaming the property is slowly becoming a reality thanks to ARC.
What have you been doing?
Other robots from Synthiam community

Vertigo's Getting Started On My Inmoov Head

Davidh's BOB

In my script I do have the quote. When I copied and pasted it, the quote was missed, now corrected. Your right, it is better to copy the whole script line. I just wanted for people to see the comparison side by side.
Thanks for looking at it Alan.
So, this may be something DJ needs to fix, or you may need to install mosquitto to an alternate directory than the default.
On 32 bit windows systems, everything gets installed in \program files.
On 64 bit Windows. 32 bit programs get installed in \program files (x86) and 64 bit programs get installed in \program files.
The issue is that parenthesis mean something in EZ-B script language, and unlike some scripting languages, there is not a "escape" character to tell the script to ignore the following parenthesis.
Quickest fix would be to re-install mosquitto, and during the install, choose a custom install path - either c:\mosquitto or put it in c:\program files instead of c:\program files(x86)
Long term, this is something DJ will need to fix I think.
Alan
@Alan, @Fob
If the problem is the " ) " you can replace program files (x86) with the equivalent short name.
check the thread (post #11): https://synthiam.com/Community/Questions/9006&page=2
something like this:
I forgot all about short names. Excellent solution!
Alan
Thanks for the reply and the link
Will give it a shot when returning home.
I must have had a brain fart or something not trying the install it into another path after the code did not work
Never new the way the link shows?
Glad we have this forum and people to help and share.
MQTT broker is up and running, code from EZB to broker is now working ... it's a Christmas Miracle! Now on to the next step, isn't there always a next step? Would like to thank all for the help! I really do appreciate it.
@Fob You know you could really show your appreciation by giving back to the forum... How about a video on what you are exactly doing?... Maybe others (I know I am curious) want to see what this is all about...
Yes! Please share with a video and pics! We love that stuff!
Feel free to build a project page documenting your process with discussion, pics and video. others can follow, add their ideas, help with problems and learn from you.