Small bit of feedback, might be of interest, might not.
I was having a problem with the JSON notification function dying after a few minutes of starting eventghost. it would throw and error in waitforXBMC(). A listindex out of range error.
Line 1981 "if headers['USN'].split(':', 2)[1] not in USNCache:".
Please excuse my ignorance, this explanation will get terminology wrong.....
From what I could tell I have some upnp devices on my network (I couldn't locate which ones) that transmit the USN without the 'uuid:' label at the beginning. From my limited knowledge it appears you split the headers['USN'] and read the UUID from the second item in the list, if there is no 'uuid:' label and only the UUID then the .split() only has one item, and reading the second items fails.
I don't really know what that part of the code is trying to do, it was a bit over my head, but I added some amateur code to strip leading spaces, then test for "uuid:' at start of headers['USN'] before either adding 'uuid:' to the start or continuing on with your code.
Hopefully that made sense to you. I'm not sure if it's of interest, but figured I'd post and you can ignore it at your leisure.
Ask the next Aussie you meet to buy you a beer, tell him it's on me.
Cheers mate.

