0

好的,首先,这里的主要想法是在到达时自动化一些电灯开关。我住在一个混淆 gps 的树林里,所以我对 tuya 等的到达功能不能像预期的那样可靠地工作。他们有时确实有效,但我需要它是可靠的。

所以计划是安装 google assistant sdk 并让 textinput 工作。下载并安装了所有东西,做了谷歌云平台的事情,一切都很好。我可以在cmd中输入“关闭卧室灯”,然后卧室灯就会关闭。现在,这很好用,不要误会我的意思,我很可能可以调整它来满足我的需要。但这需要启动一个交互式控制台,然后实际输入我想问的短语。

这个问题的解决方案是如果我可以用类似的东西查询文本输入

py -m googlesamples.assistant.grpc.textinput --device-id "insert_device_id" --device-model-id "insert_device_model_id" --textquery "turn off the bedroom light"

然后我就不必启动交互式提示并手动退出它。我希望能够在不与谷歌助手交互的情况下向助手发送文本。

最终目标是使用我的电脑ping我的手机静态IP地址,并通过PC上的谷歌助手打开设备/灯。

4

1 回答 1

1

只是为了让您入门,这是基于示例源代码的替代方法:

# Add along with other click.options
@click.option('--textquery',
              metavar='<text to send>',
              required=False,
              help=(('Text to send. If not specified, use interactive mode')))

# Next add the flag to main
def main(api_endpoint, credentials,
         device_model_id, device_id, lang, display, verbose,
         grpc_deadline, textquery, *args, **kwargs):

# Then the main loop
with SampleTextAssistant(lang, device_model_id, device_id, display,
                         grpc_channel, grpc_deadline) as assistant:
    while True:
        # If textquery data set, use that as the query
        if textquery:
            query = textquery
        else:
            query = click.prompt('')
        click.echo('<you> %s' % query)
        response_text, response_html = assistant.assist(text_query=query)
        if display and response_html:
            system_browser = browser_helpers.system_browser
            system_browser.display(response_html)
        if response_text:
            click.echo('<@assistant> %s' % response_text)
        # If we're doing text, quit the loop
        if textquery:
            break

不过,完全未经测试,但希望你能明白!

于 2021-03-23T08:43:12.727 回答