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

SBANAS09's Kitty Hawk

Deuel18's Oculus Rift Is Out, Any Ideas?

Was wondering if you guys might be kind enough to answer a question about your MQTT Broker setup. In your code your have:
Could you please explain the :
/HOME/ARC/COMMAND
part?
Thanks in advance.
The command posts a message to your MQTT broker on TOPIC /HOME/ARC/COMMAND
This has within it a payload of Lounge_Lights_On
If you are monitoring your Broker and subscribed to the topic above you should see a message to this effect appear in the stream of data.
Use an APP something like MQTTLens to monitor your broker. www.hivemq.com/blog/seven-best-mqtt-client-tools
We have a plugin in beta at the moment and it loads a single variable with the payload of whatever topic you are subscribed to ...
Project is on go slow as a key member is overseas for another month but we will get back to it soon....
Thanks for your reply. I have setup Home Assistant www.Home-Assistant.io and have one switch working, now looking to see how to tie it into EZB. Would like to have at least one working example here before diving in head first. It looks simple enough from your example but as I have found out, looks can be deceiving ... lol. Later today when time permits we'll give it a run and see what happens.
Thanks again for your assistants.
Hello Again ... lol
My MQTT Broker is running from a Raspberry Pi. The script example above runs from a MQTT broker on the PC. I could not for the life of me figure out how to get it to run from the Pi.
Headaches, hair pulling and yelling at the computer brings me here again! Was curious, if either of you guys here with MQTT on your Windows PC had any trouble installing it? I have spent the better part of two days trying on three different PC to get up and running! I have Googled & Googled read EVERYTHING on the net (lol) still no luck. I am aware of the .dll's that need to be in place, Visual Studio Redist., still no go. So, did it go smooth for you guys?
Yes the code example above in post #26 is for the PC. It was a one liner in an ARC script that sends messages directly to your broker and of course needs to have ARC and Broker on the same PC for this to work.
I did have some trouble installing on a Windows PC.
Had to fiddle with the firewall. Worked well on 127.0.0.1 but Windows security caused me grief.
So I stayed with the Raspberry Pi Broker. I need the broker to be in an "always ON" state and stable. I seldom have to restart it unlike my PC !
Finally got the PC mqtt broker up and running last night. I was getting a error on .dll files. Decided to try another openssl version and that did the trick. Now getting ready here to give the example code above a go.
You say you stayed with the Raspberry Pi broker. (I don't think you can beat a Pi, as it seems really stable and cheap to run.) I assume that you are bridging the pc broker to the Pi broker?
If so, did you run into any trouble doing it?
I'm back
New problem
I am running into an EZB error. Yours: "C:\Program Files\mosquitto\mosquitto_pub.exe" Mine: "C:\Program Files (x86)\mosquitto\mosquitto_pub.exe" When I put the (x86) into EZB code I receive ... error line 1 Missing ) in expression. Taking the (x86) out of the code I receive ... error can not find file, or something like that.
Any ideas?
Maybe DJ will read this too and give a idea what to do.
you are missing an opening quote in the path (at least from what you copied and pasted. Better to copy and paste the entire line, rather than an excerpt for proper troubleshooting.
Alan