Sterowanie Supla głosem a'la komputer ze Star Trek

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

Nie chce mi zapisać do pliku, tak jakby był problem z uprawnieniami... spróbuję usunąć wszystkie dane aplikacji i ponownie to skonfigurować.
Co do wywoływania swoją komendą (nie testowałem), np. "OK,Supla" to jest polska aplikacja, którą można skonfigurować z Automate. Nazywa się Polassis. Aplikacja stale się rozwija i nie wiem na ile jest stablina, ale może obrać ten kierunek :)
Nie byłoby przynajmniej niepotrzebnych wkurzających wyników wyszukiwania po odpaleniu światła w salonie :D
:mrgreen: :mrgreen: :mrgreen:
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Na tym ekranie z SUPLA Voice wybierz "Install permission" obok Storage.
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

Działa!! :D przeinstalowanie Automate pomogło... zainspirowałeś mnie mocno i zacząłem szukać innych rozwiązań. Jest coś takiego jak AutoVoice, Tasker i RestTask for Tasker. Niestety Tasker płatny, ale do przeżycia. "Przeoram najpierw tego Autovoice, czy działają polskie komendy itp. oraz czy da się go wywołać swoją komendą przy zablokowanym ekranie :mrgreen:
:mrgreen: :mrgreen: :mrgreen:
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Super!

Z AutoVoice miałem pierwsza przymiarkę (viewtopic.php?f=9&t=1969&start=10#p9637) i działało, ale nie rozpoznawało komend gdy Google Now rozpoznawał je na ekranie blokady, dlatego spróbowałem z Automate.

RESTaska nie trzeba instalować. W taskerze jest akcja HTTP request tak samo jak w Automate.

Zauważyłem też że obecne rozwiązanie ma problem z długimi komendami. O ile "włącz światło w sypialni i otwórz bramę" działa, to jak już powkładam tam z 5 rozkazów to się wysypuje z jakimś dziwnym błędem. Podejrzewam, że chodzi o to że komenda jest przesyłana w URL, a to powinien być POST. Tyle że POST nie chciał mi działać z Automate... https://groups.google.com/forum/#!topic ... EJDbcIIK5g

Będę jeszcze dłubać, co może grozić zmianą formatu konfiguracji ;)
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

A sorry, tak się pochłonąłem obecnym rozwiązaniem, że nie zwróciłem uwagi na początek postu :)
No nic, jak powstanie albo znajdę jakąś apkę, która reaguje przy zablokowanym ekranie na naszą komendę i będzie się dało ją zintegrować to dam znać. Chyba, że będziesz pierwszy :D
:mrgreen: :mrgreen: :mrgreen:
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Na GitHubie dodałem logowanie komend do pliku, więc debugowanie będzie łatwiejsze. Przy każdej odebranej komendzie do pliku logs/voice.log zapisze się co dostał, kiedy, i co wykonał,

np:

Kod: Zaznacz cały

2017-05-16T09:14:29+02:00: Command: wyłącz światło w sypialni a zaraz potem wyłącz schody
        Executed command: wyłącz światło w sypialni (turnOff,123)
        Executed command: wyłącz schody (turnOff,124)
        Matched actions: 2
Musimy się tylko upewnić, że Apache może sobie pisać po tym pliku. Jeśli wszystko robicie z roota, najlepiej przywłaszczyć cały katalog do www-data:

Kod: Zaznacz cały

chown -R www-data:www-data supla-scripts/logs
chmod g+s supla-scripts/logs
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

FEEDBACK

Demo: https://www.youtube.com/watch?v=SYAo5pINuog

Instrukcja taka jak poprzednio viewtopic.php?f=9&t=1969&start=10#p9643. Generalnie w Automate dochodzi teraz nowy krok który na podstawie odpowiedzi ze skryptu czyta nam to co wróciło.

Trzeba się też upewnić że jest zainstalowane "Przetwarzanie tekstu na mowę" od Google. Jeśli coś nie będzie banglać to pobawcie się w Automate ustawieniami czwartego kafelka o nazwie "Speak result" - tam się da wybrać przez który głośnik gada, jakiego syntezatora używa itp.

Jak to będzie ok to wystarczy pobrać nowe skrypty (git pull) i skonfigurować sobie feedbacki. Przykład:

Kod: Zaznacz cały

<?php
return [
    [
        'commands' => [
            'włącz światło w sypialni'
        ],
        'action' => 'turnOn,123',
        'feedback' => 'światło w sypialni zostało włączone',
    ],
    [
        'commands' => [
            'wyłącz światło w sypialni'
        ],
        'action' => 'turnOff,123',
        'feedback' => 'światło w sypialni zostało wyłączone',
    ],
    [
        'commands' => [
            'czy światło w sypialni jest włączone'
        ],
        'action' => 'get,123',
        'feedback' => 'światło w sypialni jest {{on}}',
    ],
    [
        'commands' => [
            'ile jest stopni w domu'
        ],
        'action' => 'get,125',
        'feedback' => 'w domu jest {{temperature}} stopni',
    ],
    [
        'commands' => [
            'co tam',
        ],
        'action' => 'get,123|get,124|get,125|get,126|get,127',
        'feedback' => 'Cześć Wojtku! Tu Twoja supla. W domu masz {{temperature|1}} stopni a wilgotność to {{humidity|0}}%. Na zewnątrz jest {{temperature|3}} stopni. Światło w sypialni jest {{on|2}}. Brama garażowa jest {{hi|4}}.'
    ],
];
Może nie wszystko w tym configu jest self-explanatory, ale pisane na kolanie ;) Szczególnie w tym ostatnim, magiczne numerki w klamerkach oznaczają że chcemy wziąć wartość z n-tego kanału z akcji (liczonego od 0). Więc w tym przypadku {{temperature|1}} oznacza odczytanie wartrości temperatury z kanału 124.
Ostatnio zmieniony czw maja 18, 2017 7:50 pm przez fracz, łącznie zmieniany 1 raz.
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

Już to ogarniam :D

Edit: no wspaniale działa!! Teraz to już jest na prawdę jak w "Star Trek" :D
:mrgreen: :mrgreen: :mrgreen:
Seba5120
Posty: 318
Rejestracja: pn paź 31, 2016 1:33 pm

U mnie wywalało błąd java... w Automate,
pomogło ściągnięcie języka polskiego do trybu offline
w rozpoznawaniu mowy :)
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

ooo... dzięki za tą informację, na innym urządzeniu właśnie mam problem z java. Pokombinuję tak jak piszesz
:mrgreen: :mrgreen: :mrgreen:
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”