2016-12-09 65 views
13

Mam raspberry pi kontrolujące moje drzwi garażowe i chcę mieć możliwość otwarcia lub zamknięcia go za pośrednictwem domu/asystenta google.Czy mogę utworzyć prywatną akcję dostępną tylko za pośrednictwem mojego konta Google home lub połączonego konta?

Ta akcja jest niestandardowa i jest przeznaczona wyłącznie dla moich potrzeb. Chciałabym móc wykorzystać go do interakcji z nim, ale nie chcę publikować go dla innych, ponieważ jest dla mnie niestandardowy. Czy można to zrobić? Wierzę w Alexę, że jest to możliwe i szybkie przeglądanie dokumentów, do których nic nie wyskoczyło dla mnie w tym scenariuszu.

Odpowiedz

3

Niestety prywatne działania autonomiczne, których można używać tylko na urządzeniach lokalnych, nie zostały jeszcze zaimplementowane. https://plus.google.com/104600734511855800650/posts/PxfRWTHn55z

+1

Regarding odpowiedzi Patricks. Odpowiedź w moim linku pokazuje odpowiedź na to pytanie w pierwszym stwierdzeniu. Masz rację, możesz zrobić * PODGLĄD * działania, które można wykorzystać na urządzeniach aktualnie zalogowanych na koncie Google połączonych z kontem API.ai, na którym zostały opracowane. Są one jednak dostępne tylko tymczasowo i wymagają odświeżania ich "statusu podglądu" wielokrotnie. Jako takie nie są oficjalnie "wspierane" w żaden sposób ani zalecane do stosowania w rzeczywistych scenariuszach. –

15

Przyjęta odpowiedź jest niepoprawna, ponieważ publikacja OP nie jest wymagana. Zawiera również link do innego pytania, a mianowicie, czy możliwe jest pobranie danych osobowych w celu wykorzystania spersonalizowanych działań na użytkownika.

Poprawna odpowiedź brzmi: tak, możesz utworzyć prywatną akcję dla swojego Google Home. Możesz utworzyć akcję w interfejsie API.ai i wyświetlić ją lokalnie w Google Home także w API.ai. To nie publikuje akcji, ale raczej pozwala na użycie utworzonej akcji tylko w Google Home. Oto film, który to potwierdza: https://youtu.be/HNfE0uaKcfY?t=4m9s

Aby to zrobić, utwórz akcję w interfejsie API.ai. Aby dowiedzieć się, jak to zrobić, obejrzyj ten film: https://www.youtube.com/watch?v=9SUAuy9OJg4. Po kliknięciu "Podgląd" w API.ai twoja utworzona akcja będzie dostępna w symulatorze internetowym i urządzeniu Google Home z tym samym kontem Google, na którym jesteś zalogowany w interfejsie API.ai.

+2

Dziękuję za szczegóły, zrobię to. Jak rozumiem, problem z tym podejściem polega na tym, że możliwość przetestowania działania w domu Google jest tymczasowa w tym scenariuszu, tak jak przez 24 godziny, czy to prawda? – Becker

+0

Nie mogłem znaleźć żadnych źródeł, aby to poprzeć, ale niestety wydaje się, że tak jest w przypadku symulatora sieciowego. Wypróbowałem moją akcję już dziś w symulatorze internetowym i nie działało, dopóki nie ponownie uruchomiłem podgląd w API.ai. Przypuszczam, że to jest problem z technologią <24 godzin! – Patrick

+1

Wygląda na to, że jest to łatwe ograniczenie, które można usunąć w pewnym momencie i sprawić, że integracja pozostanie bez podglądania ich ponownie, tak jakbyśmy trzymali je w stałym trybie podglądu. – Becker

2

Jedno może chcesz spróbować się za pomocą Assistant IFTTT channel

Dzięki niemu można zarejestrować swój własny, prywatny, polecenia głosowe, aby wywołać akcję IFTTT, co może być wezwanie do zwyczaju webhook pomocą Maker channel, który kontroluje twoje drzwi garażowe.

Zaletą tej metody jest to, że pozwala ona tylko zarejestrować jedno polecenie, nie można zaimplementować całego okna dialogowego w ten sposób.

+0

Ta metoda zadziałała świetnie FYI – Becker

0

Tylko 30 minut to moje zrozumienie. Po 30 minutach musisz odświeżyć tryb programisty, aby odzyskać akcje.

12

W narzędziu cli cli można zmienić limit czasu podglądu za pomocą flagi "-preview_mins".

D:\test> gactions preview -preview_mins 999999999 -action_package=action.json -invocation_name="my action" 
Pushing action 'my action' for testing... 
'my action' is now available for you until 3918-04-09 12:01AM CST (a long while from now) 

To da ~ 2000 lat czasu "podglądu".

6

Tak, można. Oto kroki, aby zachować prywatność działania:

  • Pobierz Google gactions cli.
    Uwaga: na komputerach Mac i Linux uruchom terminal $chmod +x gactions w terminalu, aby wykonać plik wykonywalny binarny.
  • Skopiuj plik wykonywalny wewnątrz my_project_dir (Twój katalog projektu).
  • Initialize gaction, otwórz terminal i uruchom: $ cd <my_project_dir> $ ./gaction init
  • gaction tworzy plik o nazwie „action.json”
  • otworzyć konsolę programisty przeglądarki (Chrome: kliknij trzy kropki w prawym górnym rogu -> Więcej narzędzi -> Narzędzia programistyczne).
  • Kliknij kartę "Sieć".
  • Otwórz swój projekt interfejsu API.AI i otwórz okno "Integracje".
  • Kliknij przycisk "AUTORYZACJA".
  • Kliknij przycisk
  • W konsoli programisty przeglądarka „Podgląd” przejrzeć odpowiedź XHR od: https://console.api.ai/api/agent/googleassistant/preview
  • skopiować zawartość odpowiedzi i wklej go do pliku „action.json”
  • zapisać plik.
  • Aby ustawić podgląd trwać wiecznie w trybie prywatnym, otwórz terminal i uruchomić $ cd <my_project_dir> $ ./gactions preview -action_package <template_dir>/action.json -preview_mins 999999999 -invocation_name [invocation_name_here]

Polecenie to wyśle ​​działań („action.json” plik, tak samo jak w projekcie API.AI) do Google Home i uruchomi go jako podgląd dla 999999999 minut (około 2000 lat).

Więcej szczegółowych informacji można śledzić ten tutorial: How to create a custom private Google Home Action with API.AI and Google App Engine

+0

Interfejs projektu DialogFlow jest teraz nieco zmieniony. Próbowałem robić podobne rzeczy, ale bez powodzenia. Głównie dlatego, że odpowiedź XHR z https://console.dialogflow.com/api/agent/googleassistantv2/preview jest pusta. To rozwiązanie nie działa teraz. –