This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.

The Homey Community has been moved to https://community.athom.com.

This forum is now read-only for archive purposes.
Closed

How smart is Homey

In the demo someone is sitting down on the couch and says "Hey Homey, I want to watch some Star Trek"
How did homey learn to start a Star Trek show? Or was it pre-programmed? and do I need to pre-program all the movies/series available?
Same with music, does it know by reading the track/metadata what I ask it to play or do I have to pre-program all the MP3 files?

Comments

  • EmileEmile Administrator, Athom

    For movies:

    Homey can have a Plex/XBMC/etc. app that indexes your movie collection, and tells Homey which movies can be 'heard'.

    For audio: the same. However, when you've connected a streaming service like Spotify, for example, Homey will search online and play the track you requested.

  • ImkoImko Member

    Emile.. think you mean Plex/KODI/ect. app ;-)

  • MikeOneMikeOne Member

    Goldwing said:
    In the demo someone is sitting down on the couch and says "Hey Homey, I want to watch some Star Trek"
    How did homey learn to start a Star Trek show? Or was it pre-programmed? and do I need to pre-program all the movies/series available?
    Same with music, does it know by reading the track/metadata what I ask it to play or do I have to pre-program all the MP3 files?

    Hey Goldwing, thanks for your question. Reality might need some more detail here :-) The Homey plex app has access to the Plex API after some one-time user configuration i.e. asking for plex login details, selecting the PMS server you would like to use (if multiple servers known) and which client you would like to control with Homey.

    You'd have to image something like this:

    • Hey Homey (triggers homey)
    • I want to 'WATCH' (might trigger the Plex app)
      -> Plex App manager takes over and get the speech input:
    • 'some'
    • 'star'
    • 'trek'

    Now imagine your PMS contains 8 star trek movies, 200 episodes of Next Generation and 100 episodes of Voyager (very possible). The Plex App knows about all of those as it has indexed the sections in the PMS that you have chosen during setup.

    We could now go into a decision tree and use the 'some' keyword. Multiple options here:

    1) the Plex App could query the Plex api for 'star trek' and randomly starts anything (either movie or series) that matches on 'star trek'.
    2) The Plex App could query Plex for the 'On Deck' list and plays the first item in that list that matches 'star trek'
    3) The Plex App could analyse the PMS results and finds that there are movies AND series that match 'star trek' (in this case) and it either starts a random star trek movie or a random star trek series episode, whichever you have given preference to in the setup.

    My preference would be that the decision tree would first of all check the 'On Deck' of Plex to see if maybe you have just downloaded something, have already watched an episode and simply plays the 'next' episode that is on deck (still assuming the 'some' keyword here, although a better match would be something like 'Hey homey, play the 'NEXT' 'episode' of 'star trek').

    For 'normal' every day usage, you might be in a position though that you haven't watched any star trek recently and haven't added any star trek to Plex recently. So nothing 'on deck' will match. This is where the real fun starts. remember we have have over 300 items in your PMS that potentially match 'star trek':

    (quotes is you, quotes in square brackets are multiple possible answers from you, (Homey) = what homey could answer):

    'Hey Homey, I want to watch star trek'

    (Homey) -> series or movie?

    'series'

    (Homey) - what series, I found 2?

    'Voyager'

    (Homey) - I found 100 episodes of 'Star trek Voyager', which season?

    ['first season', 'last season', 'third season' ]

    (Homey) - which episode?

    ['3', 'the third', 'the chute']

    (Homey plays)

    You can easily imagine this tree to be very different in case your choice was 'movie' ;-)

    In other words, the complexity and expectations on what it should play are pretty complicated. There are complete and possibly recursive decision trees needed for Homey to determine what it is you actually mean.
    And seeing the Plex API itself is pretty much rudimentary, it's a bit of a challenge to get it right :-)
    The Homey Plex app will be aware of what is in your PMS library and will dynamically create speech input matches for those media titles. The challenge is to get a match that makes sense compared to your voice command if you have a lot of possible matching media items.

    Don't worry, we'll get it usable at the start and hopefully very intelligent after a few iterations and real life user input and usage. The community can always help and if you have any input on priorities I'll take it into account of course!

  • MikeOne said:

    Goldwing said:
    In the demo someone is sitting down on the couch and says "Hey Homey, I want to watch some Star Trek"
    How did homey learn to start a Star Trek show? Or was it pre-programmed? and do I need to pre-program all the movies/series available?
    Same with music, does it know by reading the track/metadata what I ask it to play or do I have to pre-program all the MP3 files?

    Hey Goldwing, thanks for your question. Reality might need some more detail here :-) The Homey plex app has access to the Plex API after some one-time user configuration i.e. asking for plex login details, selecting the PMS server you would like to use (if multiple servers known) and which client you would like to control with Homey.

    You'd have to image something like this:

    • Hey Homey (triggers homey)
    • I want to 'WATCH' (might trigger the Plex app)
      -> Plex App manager takes over and get the speech input:
    • 'some'
    • 'star'
    • 'trek'

    Now imagine your PMS contains 8 star trek movies, 200 episodes of Next Generation and 100 episodes of Voyager (very possible). The Plex App knows about all of those as it has indexed the sections in the PMS that you have chosen during setup.

    We could now go into a decision tree and use the 'some' keyword. Multiple options here:

    1) the Plex App could query the Plex api for 'star trek' and randomly starts anything (either movie or series) that matches on 'star trek'.
    2) The Plex App could query Plex for the 'On Deck' list and plays the first item in that list that matches 'star trek'
    3) The Plex App could analyse the PMS results and finds that there are movies AND series that match 'star trek' (in this case) and it either starts a random star trek movie or a random star trek series episode, whichever you have given preference to in the setup.

    My preference would be that the decision tree would first of all check the 'On Deck' of Plex to see if maybe you have just downloaded something, have already watched an episode and simply plays the 'next' episode that is on deck (still assuming the 'some' keyword here, although a better match would be something like 'Hey homey, play the 'NEXT' 'episode' of 'star trek').

    For 'normal' every day usage, you might be in a position though that you haven't watched any star trek recently and haven't added any star trek to Plex recently. So nothing 'on deck' will match. This is where the real fun starts. remember we have have over 300 items in your PMS that potentially match 'star trek':

    (quotes is you, quotes in square brackets are multiple possible answers from you, (Homey) = what homey could answer):

    'Hey Homey, I want to watch star trek'

    (Homey) -> series or movie?

    'series'

    (Homey) - what series, I found 2?

    'Voyager'

    (Homey) - I found 100 episodes of 'Star trek Voyager', which season?

    ['first season', 'last season', 'third season' ]

    (Homey) - which episode?

    ['3', 'the third', 'the chute']

    (Homey plays)

    You can easily imagine this tree to be very different in case your choice was 'movie' ;-)

    In other words, the complexity and expectations on what it should play are pretty complicated. There are complete and possibly recursive decision trees needed for Homey to determine what it is you actually mean.
    And seeing the Plex API itself is pretty much rudimentary, it's a bit of a challenge to get it right :-)
    The Homey Plex app will be aware of what is in your PMS library and will dynamically create speech input matches for those media titles. The challenge is to get a match that makes sense compared to your voice command if you have a lot of possible matching media items.

    Don't worry, we'll get it usable at the start and hopefully very intelligent after a few iterations and real life user input and usage. The community can always help and if you have any input on priorities I'll take it into account of course!

    Really liking this! Cannot wait for mine to arrive!

  • JonJon Member

    So how will that work with Spotify then? Same/similar?

  • EmileEmile Administrator, Athom

    Quite similar yes

This discussion has been closed.