Haiku Control your home via Siri with HaikuHelper+SiriProxy

lupinglade

Senior Member
We've made available a plugin for SiriProxy that gives you voice control over your home via Siri on iOS devices. Its not an officially supported feature by Apple, so setting up SiriProxy is a bit of work, but not too difficult for those with some networking/*nix experience.

The project is here: https://github.com/lupinglade/siriproxy-haikuhelper

Feel free to contribute code or ideas!

Note: HaikuHelper 2.90 (next version) is required. If you want to use it with the current version you would need to make some minor modifications.

Update: There is now a full guide on how to set this up on a Mac at the link above.
 
lupinglade said:
We've made available a plugin for SiriProxy that gives you voice control over your home via Siri on iOS devices. Its not an officially supported feature by Apple, so setting up SiriProxy is a bit of work, but not too difficult for those with some networking/*nix experience.The project is here: https://github.com/lupinglade/siriproxy-haikuhelperFeel free to contribute code or ideas!
Very cool. Can't wait to try this!
 
I am getting a syntax error when I try the the bundle on the 'n' after the '-' for the name: parameter. Here is what I have in the file
 
 
- name: 'HaikuHelper'
    git: 'git://github.com/lupinglade/siriproxy-haikuhelper.git'
     url: 'http://localhost:9399'
     controller_name: 'theater'
     password: 'mypass'
 
Here are the errors:
 

siriproxy bundle
/Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:205:in `parse': (/Users/joe/.siriproxy/config.yml): did not find expected key while parsing a block mapping at line 21 column 3 (Psych::SyntaxError)
from /Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:205:in `parse_stream'
from /Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:153:in `parse'
from /Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:129:in `load'
from /Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:299:in `block in load_file'
from /Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:299:in `open'
from /Users/joe/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/psych.rb:299:in `load_file'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.4/lib/siriproxy/command_line.rb:167:in `parse_options'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.4/lib/siriproxy/command_line.rb:35:in `initialize'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.4/bin/siriproxy:6:in `new'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/gems/siriproxy-0.5.4/bin/siriproxy:6:in `<top (required)>'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/bin/siriproxy:23:in `load'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/bin/siriproxy:23:in `<main>'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `eval'
from /Users/joe/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `<main>'
 
The YML format is indentation sensitive. You must make sure you are intending it exactly as the other entries.
 
Sorry for the questions... I am getting an authentication error on the remote HaikuHelper API. Do I use my OSX UID/PWD or the web UID/PWD for HaikuHelper?
 
And then do I modify the 'user' on line 12 of the config.yml file?
 
Ok, I have done that and I verified that I am typing in the correct UID/PWD that matches the web interface.
 
I am also getting the following error:
 
 
theater:.siriproxy joe$ rvmsudo siriproxy server
Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. export rvmsudo_secure_path=1 to avoid the warning.WARN: Unresolved specs during Gem::Specification.reset:
      rake (>= 0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
[Info - Configuration] Loading plugins -- If any fail to load, run `siriproxy bundle` (not `bundle install`) to resolve.
[Info - HaikuHelper] Reloading HaikuHelper configuration...
[Error] Failed to load plugin: HaikuHelper reason: Could not communicate via the remote HaikuHelper API: Authentication error!
[Info - Server] Starting SiriProxy on 192.168.1.10:443...
[Info - Server] DNS server is not running yet, waiting 1 second...
[Info - Server] DNS Server started, tainting 'guzzoni.apple.com' with 192.168.1.10
[Info - Server] SiriProxy up and running.
 
Got it running. I am checking out the commands now. Will report back soon.
 
.......
 
Ok, it seems to start correctly although I still get the warning shown 2 messages previous. 
 
It doesn't seem as if the DNS is working properly. I am unable to ping guzzoni.apple.com from my phone. I assume I should get the HH server address in a response?
 
Siri acts normal but never returns anything.
 
I am able to ping the server address and the router address from the iPhone.
 
I get no DNS resolution from the iPhone.
 
I am getting the DNS server starting message and the tainting of guzzoni.apple.com message and the final siriproxy is up and running.
 
Ok, I have it working now. I will need to change my controller configuration in regards to rooms a little bit to make it functional.
 
Is there a way to start the proxy server as a service so that I don't need to keep a terminal open? Sorry, I am not really a Mac person.
 
I really like how Siri commands are passed on up to Apple when the proxy does not understand it.
 
Joe
 
Excellent and clear instructions, thanks so very much!
 
Just a note for documentation maintenance, the siriproxy download is now 0.5.4, so you may wish to update the instructions to refer to that version, not the 0.5.3
 
Back
Top