Bixby Capsule and Google Action Help needed

samsung-bixby

#1

Hey!
I am new to using Jovo as a base framework and architecture.
I was trying to create a capsule for Bixby and had a few questions.
My questions are.

  1. Like Alexa has slot values, is there something similar in Bixby Capsules?
  2. Currently, I have a list of names once I select a name and access information based on that name, and later if I say a different name I still get the data for the same name that I selected first, as the “$input” value remains the same as well, how can I fix this?
  3. Like Alexa has custom templates with APL, do Bixby and Google Actions something similar?

Thank you


#2

Hey @hakr,

welcome to Jovo :tada: As for your questions,

  1. Unfortunately, no, I don’t think so! But that’s an interesting though, I’ll ask some people from the Bixby Development team.
  2. Hm, I never had that problem before. Can you please show me the request data for both requests?
  3. Not yet. I’m currently working on a personal capsule, which depends heavily on visual output, and I already talked with @marktucker about providing more templates. If you want I can create a bigger thread about this here, so we can discuss Bixby templates there?

Best regards,
Ruben.


#3

Thank you for your reply @rubenaeg . I don’t mind having a bigger thread discussing the Bixby templates.

  1. Below I have added the 2 consecutive requests.
    Initial Request

     {
         "_JOVO_PREV_RESPONSE_": {
             "_JOVO_SPEECH_": "Welcome to zodiac name, What sign do you want the horoscope for?",
             "_JOVO_LAYOUT_": {
                 "$id": null,
                 "$type": "playground.jovo_test.JovoLayout"
             },
             "_JOVO_TEXT_": "Welcome to zodiac name, What sign do you want the horoscope for?",
             "_JOVO_SESSION_DATA_": {
                 "_JOVO_SESSION_ID_": "5db830f927ecc7d761b4047f5755b8c2058b0b7b2fa34ddeba5d63eb9bfae544",
                 "$id": null,
                 "$type": "playground.jovo_test.JovoSessionData"
             },
             "$id": null,
             "$type": "playground.jovo_test.JovoResponse"
         },
         "_JOVO_INPUT_name": "Leo",
         "$vivContext": {
             "clientAppVersion": null,
             "is24HourFormat": false,
             "timezone": "America/Los_Angeles",
             "screenLocked": false,
             "sessionId": "5db830f927ecc7d761b4047f5755b8c2058b0b7b2fa34ddeba5d63eb9bfae544",
             "locale": "en-US",
             "clientAppId": null,
             "userId": "92d3ea7357cb97c296dbf5da5b61c2b470424810121f4507ff0e058e2e5e0a88",
             "canTypeId": "bixby-mobile-en-US",
             "handsFree": false,
             "bixbyUserId": "qQQjmvbvMLqdc0xDXZwGMSsZ8bb05n_SbQSsPqmL2Fo",
             "grantedPermissions": {
                 "bixby-user-id-access": true
             },
             "device": "bixby-mobile",
             "allowLockScreenExecution": false
         }
     }
    

After this, the user says horoscope for Virgo. and the request received is this.

{
    "_JOVO_PREV_RESPONSE_": {
        "_JOVO_SPEECH_": "Leo. July 23. {DATA} What would you like to do?",
        "_JOVO_LAYOUT_": {
            "$id": null,
            "$type": "playground.jovo_test.JovoLayout"
        },
        "_JOVO_TEXT_": "Leo. July 23. {DATA} What would you like to do?",
        "_JOVO_SESSION_DATA_": {
            "_JOVO_SESSION_ID_": "5db830f927ecc7d761b4047f5755b8c2058b0b7b2fa34ddeba5d63eb9bfae544",
            "$id": "null",
            "$type": "playground.jovo_test.JovoSessionData"
        },
        "$id": null,
        "$type": "playground.jovo_test.JovoResponse"
    },
    "_JOVO_INPUT_name": "Leo",
    "$vivContext": {
        "clientAppVersion": null,
        "is24HourFormat": false,
        "timezone": "America/Los_Angeles",
        "screenLocked": false,
        "sessionId": "5db830f927ecc7d761b4047f5755b8c2058b0b7b2fa34ddeba5d63eb9bfae544",
        "locale": "en-US",
        "clientAppId": null,
        "userId": "92d3ea7357cb97c296dbf5da5b61c2b470424810121f4507ff0e058e2e5e0a88",
        "canTypeId": "bixby-mobile-en-US",
        "handsFree": false,
        "bixbyUserId": "qQQjmvbvMLqdc0xDXZwGMSsZ8bb05n_SbQSsPqmL2Fo",
        "grantedPermissions": {
            "bixby-user-id-access": true
        },
        "device": "bixby-mobile",
        "allowLockScreenExecution": false
    }
}

I had an additional query to this as well. I have added a single word utterance “repeat” to the REPEAT action model, and if I say another word for example “computer” (not trained word) the request received is the same as for the REPEAT action model. Why would this be happening?


#4

Hm, did you train Bixby to understand Virgo as well? I had this problem before, that whenever you say something that Bixby hasn’t been trained upon, it tries to match it nonetheless with the action it thinks is closest. So you have to be very specific with training Bixby.


#5

This is what my intent action looks like.

action (DAILY) {
  type (Constructor)
  collect {
input (_JOVO_INPUT_name) {
  type(ZodiacName)
  min(Optional)
  max(One)
  default-init {
    intent {
      goal: ZodiacName
      value-set: ZodiacName { ZodiacName(Aries) ZodiacName(Taurus) ZodiacName(Gemini) ZodiacName(Cancer) ZodiacName(Leo) ZodiacName(Virgo) ZodiacName(Libra) ZodiacName(Scorpio) ZodiacName(Sagittarius) ZodiacName(Capricorn) ZodiacName(Aquarius) ZodiacName(Pisces) }
    }
  }
}
input (_JOVO_PREV_RESPONSE_) {
  type(JovoResponse)
  min (Optional)
  max (One)
  min-preferred (Required)
  max-preferred (One)
  default-init {
    intent {
      goal-set: ZodiacName { ZodiacName(Aries) ZodiacName(Taurus) ZodiacName(Gemini) ZodiacName(Cancer) ZodiacName(Leo) ZodiacName(Virgo) ZodiacName(Libra) ZodiacName(Scorpio) ZodiacName(Sagittarius) ZodiacName(Capricorn) ZodiacName(Aquarius) ZodiacName(Pisces) }
    }
  }
}
  }
  output (JovoResponse)
}

My Training set looks something like this [g:DAILY] (ZODIAC)[v:ZodiacName]
The firs time I am allowed to select from list but the second request i get is with the first name like I mentioned previously


#6

Out of curiosity, why are you using default-init?


#7

I was trying to experiment, to restrict the user from choosing anything other than those 12 names. Kinda worked as bixby gives me a list of 12 names to choose from.


#8

Hm, I’m not sure if default-init is the right thing to use here, didn’t work too much with it yet though. But if you want to provide a fixed set of values, have a look at enums.