The-Three-Little-Pigs-Siri-Proxy
The-Three-Little-Pigs-Siri-Proxy copied to clipboard
Plugin (XBMC) crashes on TLP Server
Hey guys,
I saw the mention in the README that the way plugins work has changed and that they should be "independent gems", but unfortunately I am unsure how to accomplish that and fix the XBMC-plugin I installed, so it crashes each time I try to use it! Can anyone assist with getting this to work?
The plugin comes from here: https://github.com/brainwave9/SiriProxy-XBMC And there is a fork of it here: https://github.com/patrickkettner/SiriProxy-XBMC
I tried both git locations in my config.yml but neither works with TLP!
Here is the log report:
[Info - Forwarding object to iPhone] SpeechRecognized [Info - Plugin Manager] Processing 'Watch Avatar ' [Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::Example:0x8c202c4 [Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::XBMC:0x89622d0 [Info - Plugin Manager] Matches (?i-mx:play (.+?)(?: in the (.*))?$) [Info - Plugin Manager] Applicable states: [Info - Plugin Manager] Current state: [Info - Plugin Manager] Matches, executing block [SiriProxy-XBMC] Connecting to the XBMC interface (default) [SiriProxy-XBMC] XBMC API Version 2 - Dharma [SiriProxy-XBMC] Finding TV show (API version 2) [Info - Plugin Manager] Plugin Crashed: undefined method `each' for nil:NilClass [Info - Forwarding object to iPhone] AddViews
Take it out of the config.yml, siriproxy bundle, add it back to config, siriproxy bundle, siriproxy server or ./siriproxy-restarter.
This plyugin may crash for several reasons. Eg not good system configuration
Run with -l 4 (log level 4) to see more details
Thanks guys, I tied both [remove & bundle] and [add back & bundle], but still not working, it crashes!
Jimmy, you may be right about it being not coded right, do you think you can fix?
Here is the log output at level 4 (using the https://github.com/patrickkettner/SiriProxy-XBMC fork as it uses "Watch" instead of "Play" so there is no confusion with music...)
[Info - Forwarding object to Guzzoni] SpeechPacket
[Info - iPhone] Received Object: FinishSpeech (group: com.apple.ace.speech, ref_id: 32F3DCDD-BD47-5B29-91F6-255910A59465,ace_id: D34CA9E0-F634-4E2A-9A57-807BC96D9EE7)
[Key - iPhone] Recieved Object Using: Key id [5] and Instance Keyload[450]
{"class"=>"FinishSpeech",
"refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465",
"group"=>"com.apple.ace.speech",
"aceId"=>"D34CA9E0-F634-4E2A-9A57-807BC96D9EE7",
"properties"=>{"packetCount"=>15}}
[Info - Forwarding object to Guzzoni] FinishSpeech
Ping - iPhone
Pong - Guzzoni
[Info - Guzzoni] Received Object: SpeechRecognized (group: com.apple.ace.speech, ref_id: 32F3DCDD-BD47-5B29-91F6-255910A59465,ace_id: a5236bd9-4eb0-48f5-a8bd-091ef7a1ba2a)
{"class"=>"SpeechRecognized",
"properties"=>
{"sessionId"=>"9977e697-be83-469f-be28-d2f065c4c0b6",
"recognition"=>
{"class"=>"Recognition",
"properties"=>
{"phrases"=>
[{"class"=>"Phrase",
"properties"=>
{"interpretations"=>
[{"class"=>"Interpretation",
"properties"=>
{"tokens"=>
[{"class"=>"Token",
"properties"=>
{"removeSpaceBefore"=>true,
"confidenceScore"=>875.0,
"removeSpaceAfter"=>false,
"endTime"=>1280,
"text"=>"Watch",
"startTime"=>0},
"group"=>"com.apple.ace.speech"}]},
"group"=>"com.apple.ace.speech"}],
"lowConfidence"=>false},
"group"=>"com.apple.ace.speech"},
{"class"=>"Phrase",
"properties"=>
{"interpretations"=>
[{"class"=>"Interpretation",
"properties"=>
{"tokens"=>
[{"class"=>"Token",
"properties"=>
{"removeSpaceBefore"=>false,
"confidenceScore"=>841.0,
"removeSpaceAfter"=>false,
"endTime"=>2980,
"text"=>"avatar",
"startTime"=>1280},
"group"=>"com.apple.ace.speech"}]},
"group"=>"com.apple.ace.speech"}],
"lowConfidence"=>false},
"group"=>"com.apple.ace.speech"}]},
"group"=>"com.apple.ace.speech"}},
"aceId"=>"a5236bd9-4eb0-48f5-a8bd-091ef7a1ba2a",
"refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465",
"group"=>"com.apple.ace.speech"}
[Info - Forwarding object to iPhone] SpeechRecognized
[Info - Plugin Manager] Processing 'Watch avatar '
[Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::Example:0x9d24c8c
[Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::XBMC:0x95f27ac
[Info - Plugin Manager] Matches (?i-mx:watch (.+?)(?: in the (.*))?$)
[Info - Plugin Manager] Applicable states:
[Info - Plugin Manager] Current state:
[Info - Plugin Manager] Matches, executing block
[SiriProxy-XBMC] Connecting to the XBMC interface (default)
[SiriProxy-XBMC] XBMC API Version 2 - Dharma
[SiriProxy-XBMC] Finding avatar (API version 2)
[Info - Plugin Manager] Plugin Crashed: undefined method `each' for nil:NilClass
[Info - Forwarding object to iPhone] AddViews
[Info - SiriProxy] Uptime [20] Active connections [4] Max connections [30]
[Info - Dropping Object from Guzzoni] AddViews
{"class"=>"AddViews",
"properties"=>
{"temporary"=>false,
"dialogPhase"=>"Summary",
"scrollToTop"=>false,
"views"=>
[{"class"=>"AssistantUtteranceView",
"properties"=>
{"dialogIdentifier"=>"Common#unknownIntent",
"speakableText"=>
"Slayer, I don’t understand @{tts#\e\pause=500\e\rate=90}Watch avatar@{tts#\e\pause=500\e\rate=100}.",
"text"=>"Steve, I don’t understand ‘Watch avatar’."},
"group"=>"com.apple.ace.assistant"},
{"class"=>"Button",
"properties"=>
{"commands"=>
[{"class"=>"SendCommands",
"properties"=>
{"commands"=>
[{"class"=>"StartRequest",
"properties"=>
{"handsFree"=>false,
"utterance"=>
"^webSearchQuery^=^Watch avatar^^webSearchConfirmation^=^Yes^"},
"group"=>"com.apple.ace.system"}]},
"group"=>"com.apple.ace.system"}],
"text"=>"Search the web"},
"group"=>"com.apple.ace.assistant"}]},
"aceId"=>"dd7c653d-39f0-4eec-8eb6-cdb6a7466858",
"refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465",
"group"=>"com.apple.ace.assistant"}
Ping - iPhone
[Info - Dropping Object from Guzzoni] RequestCompleted
{"class"=>"RequestCompleted",
"properties"=>{"callbacks"=>[]},
"aceId"=>"4eede9e5-2042-41bf-8a30-fac4c186e47f",
"refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465",
"group"=>"com.apple.ace.system"}
[SiriProxy-XBMC] Finding avatar (API version 2) [Info - Plugin Manager] Plugin Crashed: undefined method `each' for nil:NilClass
Something with the plugin. Will look into this. The bad thing is that i dont use XBMC :-(
Yeah, as usual you were right! Too bad you do not use XBMC, it is great :-)
Hopefully maybe you see something in the code and I'll test again as soon as you spot something.
Again I am using this fork as it uses "Watch" not "Play" for commands: https://github.com/patrickkettner/SiriProxy-XBMC
In my opinion the `each' for nil:NilClass means that it should have some input from the XBMC and now its doesnt get any!
I see... but the code is obviously not good as it should handle that gracefully... if that is the problem....
if :-) The TLP code though detects the crash and avoids runtime crash. Thats a good thing.
Ha Ha Ha, yeah, no doubt about that, TLP kicks ass! :-) Wish the XBMC plugin was coded as well as you did TLP!
I know you are busy Jimmy and there is no rush, but if you could spare a few minutes I am sure you will find the bug in the XBMC plugin and be able to fix it. Once you do this it will help everyone else that has this problem and I would be happy to post the fix for everyone to enjoy....
I hope tonight I ll find some time
On 29 Φεβ 2012, at 20:06, [email protected] wrote:
I know you are busy Jimmy and there is no rush, but if you could spare a few minutes I am sure you will find the bug in the XBMC plugin and be able to fix it. Once you do this it will help everyone else that has this problem and I would be happy to post the fix for everyone to enjoy....
Reply to this email directly or view it on GitHub: https://github.com/jimmykane/The-Three-Little-Pigs-Siri-Proxy/issues/184#issuecomment-4243146
Hehe still no time don't think that i forgot you!
PS. have you tried ant other xbmc versions?
Hey Jimmy, I never had any doubt that you did not forget me. I know you are busy, so whenever you get to it...
As for different versions, there are 2 versions of SiriProxy-XBMC (original and the fork) and I tried both.
I settled for the fork from "patrickkettner" because he uses "watch" instead of "play" so there is less chance of confusion with music. Here is the link again: https://github.com/patrickkettner/SiriProxy-XBMC
My XBMC system is running the current LIVE release version (10.1 "Dharma"), as the next version (11.0 "Eden") is not released yet. http://xbmc.org/download/
The only other XBMC SiriProxy plugin I found on Github is (https://github.com/HabKeinPlan/SiriProxy-XBMC) but it seems even its author dropped it and is watching the main "brainwave9" one...
Did you ever get it to work?
Nope. And since no one replied to my requests for help I gave up...
I am also currently running the OpenELEC version of XBMC "Eden" 11 and it runs great so it would be nice to get Siri control for it...
XBMC plugin is still not working for me, crashes with same error. Really hope someone can fix it....
undefined method `each' for nil:NilClass means it's getting empty responses from your XBMC server. The brach you're trying to use has significant problems and doesn't work, try my branch. https://github.com/Hackworth/SiriProxy-XBMC
Are you getting that error when you try to watch anything? Movie? TV Show? TV show season? You may want to upgrade from Dharma to Eden.
It is if you have a TV OR movie library that is empty. I have updated a branch here which splits the tv and movie commands/libraries to be separate to get around this: https://github.com/Deanmv/SiriProxy-XBMC