首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌智能家居特性-粉丝- speed_synonym不起作用

谷歌智能家居特性-粉丝- speed_synonym不起作用
EN

Stack Overflow用户
提问于 2020-01-21 07:21:00
回答 1查看 71关注 0票数 0

我尝试使用codelab中的示例代码和修改后的设备类型来实现实际操作。当我试图添加一个风扇设备到谷歌智能家居应用程序,我得到了一个错误的反应。

例:(问:把风扇设置为低速)(响应:好,把风扇速度降到慢速。)

代码语言:javascript
复制
app.onSync(async (body, headers) => {
  console.log('onSync');
  return {
    requestId: body.requestId,
    payload: {
      agentUserId: agentId,
      devices: [{
        id: 'fan',
        type: 'action.devices.types.FAN',
        traits: [
          'action.devices.traits.OnOff',
          'action.devices.traits.FanSpeed',
          //'action.devices.traits.Mode',
        ],
        name: {
          name: 'Fan',
        },
        deviceInfo: {
          manufacturer: 'AAA',
          model: 'BBB-Fan1',
          hwVersion: '1.0',
          swVersion: '1.0.1',
        },
        willReportState: true,
        attributes: {
            availableFanSpeeds: {
                speeds: [{
                    speed_name: 'Low',
                    speed_values: [{
                        speed_synonym: ['speedslow','speedlow','speedsmall','slow','low','small','minimum'],
                        lang: 'en'
                    }]
                },{
                    speed_name: 'Medium',
                    speed_values: [{
                        speed_synonym: ['medium','speed medium'],
                        lang: 'en'
                    }]
                },{
                    speed_name: 'High',
                    speed_values: [{
                        speed_synonym: ['speed fast','speed high','speed big','fast','high','big','maximum'],
                        lang: 'en'
                    }]
                }],
            ordered: true
          },
          reversible: true,

Q1:“速度慢”是我的speed_synonym在speed_name 'Low‘下面。我想它应该回答‘好的,把风扇的速度降到低’,对吗?

Q2:在特征页中,它不支持中文。我发现我可以用一些中文单词来控制设备的行为,比如通过google助手应用程序来控制中文中的“打开风扇”。但我也发现,我不能用一些像“设定风扇速度低”这样的中文单词来改变我的设备state.So,似乎中文不支持对吧?

EN

回答 1

Stack Overflow用户

发布于 2020-01-21 16:15:56

关于你的问题,我不相信你得到了错误的回应。availableFanSpeeds的工作方式是为每种模式创建一个key,并为适合该模式的每种语言创建一组synonyms。因此,speed_name "Low“意味着在您支持的每种语言中都会普遍使用。这意味着平台不一定能在任何地方使用“低”键。

在法语中,它会说:

好的,这是一个很小的问题。

对一个法国用户来说这听起来很奇怪。因此,使用了“同义词”字段,该字段被设计为一组在每种语言中都表示相同意思的单词。使用同义词数组的第一个元素可以创建更好的本地化输出。

文档并不表示对中文的支持,但即使支持中文,也需要创建第二个数组来显示该语言中特定风扇速度的同义词。该平台不为您翻译这些密钥,应该为每种语言提供它们。这允许您提供一些值,这些值可能是像"low“这样的常用单词,但也可以提供任何特定于设备的名称,比如”names模式“,这些名称可能是不可翻译的。

您必须修改数组以添加新的语言代码。我在下面添加法语的同义词。

代码语言:javascript
复制
speeds: [{
  speed_name: 'Low',
  speed_values: [{
    speed_synonym: ['speedslow','speedlow','speedsmall','slow','low','small','minimum'],
    lang: 'en'
  }, {
    speed_synonym: ['faible', 'petite', 'petit'],
    lang: 'fr'
  }]
},
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59835962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档