Voice Controlled Home

Hallo zusammen,

wie bereits angedroht,
habe ich nun selber eine App gebaut und in den Google Store gestellt.

Was ist bei dieser App nun anders ?

  • Webfrontend wird angezeigt (oder auch alternativ jede andere Webseite)
  • Wartet auf ein WakeUp Kommando, dieses geschieht offline, so dass Google nicht mithört
  • Danach kann ein Sprach Befehl an ein Skript in IPS gesendet werden.
  • Ergebnis des Skripts wird wieder angesagt.

Meine Php Skripts basieren auf den von Thiemo, es können aber natürlich auch eigene verwendet werden.

Die App findet Ihr hier
https://play.google.com/store/apps/details?id=de.weronetzki.voicecontrolledhome

und weitere Informationen hier
Overview

bzw. Voice Controled Home

Viele Grüße

Hallo.

Feine Sache mit dem Wakeup.

Hast Du auch ein Beispiel für die Empfangsparameter im Skript?

Hallo Werner,

aber sicher habe ich das :wink:

Klick doch einfach mal auf die beiden Links die ich gepostet habe,
dort findest Du alle Informationen.

Auch ein paar Beispiel Skripte (Auszüge aus meinen aktiven Skripten)

Viele Grüße

Hallo,

kaum sieht man sich die Seiten in einem normalen Browser an findet man auch das benötigte.

Danke für den Hinweis.

Werde mich am Wochenende mal damit spielen.

Respekt was Du hier auf die Beine gestellt hast. Werde mir deine App demnächst näher anschauen und ausprobieren.

Hi erstmal vielen Dank das dur dir so eine Mühe mit der App gemacht hast…

Ich habe noch ein altes S3 rumfliegen und wollte es mal testen…

Ich habe deine Anleitung befolgt und alles eingestellt und in IPS angelegt und die Variabel IDs eingetragen :slight_smile:

Aber es passiert einfach nichts :frowning: Die App reagiert nicht auf das Keyword und den ServerSocket kann ich starten aber das war es aber auch :frowning:

Die App Zeigt mir bei starten (siehe Bild) eine Fehlermeldung:

Hallo drapple,

danke für Dein Feedback.
Und vor allem Danke für den angezeigten Fehler.

Im Moment hast Du Recht, da hängt die Spracherkennung für das Wake Up,
es fehlt ihr die Berechtigung für den externen Storage (SD Card z.B.),
Ich hatte die App immer im internen Speicher.

Das ist das Schöne, wenn auch andere Leute das Teil benutzen :wink:

Ich bin zwar im Moment auf Dienstreise, also leicht gehandicapt, aber ich werde Dir
spätestens zum Mittwoch hin ein Update bereitstellen.

Viele Grüße und ein sonniges Restwochen-ende.

Super ich stehe jederzeit für Tests zur Verfügung [emoji6]

Habe eben ein Update eingestellt, das den Bug behebt, es fehlten Berechtigungen, die bei meinem Handy nicht notwendig waren.

Das Update ist dann in ein paar Stunden abrufbar

Hallo Âmigowski,

erst mal vielen Dank für Deine Mühen.
Der Fehler mit dem Berechtigungsproblem war auch bei mir da - ist aber jetzt behoben.
Ich komme in die Einstellungen. Soweit funktioniert es.
Wenn ich aber irgendein Wort nach dem Schlüsselwort spreche, dann gibt es einen Absturz.
Ein script unter …/user extistiert. Das schreibt aber nur den par-Text in eine Varuable.
Bei direktem Aufruf über das Webfront funktioniert das.

Die Fehlermeldungen:

exeption call name java.lang.NullPointerException
Source File IPSThread.java
Source class de.weronetzki.voicecontrolledlome.Logic.IPSThread
Source method onPostExecute
Line Number 77

Mache ich etwas falsch oder ist da noch ein Fehler drin?

Viele Grüsse
Babu

Hallo Babu,

möglicherweise beides.

Was den Absturz angeht, das ist immer ein Bug, den Schuh muss ich mir anziehen.
Um das zu beheben, steht eine neue Version alsbald bereit (je nachdem wie lange Google braucht :wink:

Allerdings glaube ich, die Ursache dafür liegt woanders.
Daher habe ich auch mal ein paar Meldungen eingebaut, die
bei Problemen, die auftreten vielleicht hilfreich sind (zumindest mir :wink:

Bisher ging die App immer von einer Rückmeldung aus, die dann auch angesagt wird,
daher der Absturz.
Sollte also die App nach dem Update immer noch nicht so arbeiten wie erwartet,
glaube ich, dass da weitere Meldungen aufpoppen werden, die uns weiterhelfen werden.

Viele Grüße

Hallo,

die Rückmeldung war das Problem.
Eingebaut und es stürtz micht mehr ab.

Aber andere Probleme:
Wenn ich die App starte und dann das „Aufweck-Kommando“ spreche geht erst mal alles. Der Text danach wird an IPS übermittelt.
Dann macht sich das ganze selbstständig - das Aufwekkommando wird ca. alle 2 Sekunden angezeigt.
Irgendwann hört das auf, aber die App reagiert nicht mehr auf das Aufweckkommando oder andere Spracheingaben.
Erst nach Neustart gehts wieder für ein paar Sekunden.

Auf einem alten Tablet (android V2.3.1) wird zwar die Startseite vom IPS-Server angezeigt (das Dingens, was sich dreht). Es geht aber nicht weiter. Auf Spracheingaben reagiert es nicht. Könnte aber auch am Alter liegen.

Viele Grüsse

Babu

Hallo Babu,

ich werde das heute mal gegenchecken,
ich vermute dass hängt immer noch mit der erwarteten Rückmeldung zusammen,
der hängt dann in einer Endlosschleife, das sollte aber leicht zu lösen sein.

Ich stell Dir dann dazu noch ein Update ein.

Was das alte Tablet angeht,
da wirst Du richtig liegen,
ich habe zwar hier auch Hacks mit eingebaut, damit es mit den alten Geräten funktioniert,
aber da gibt es verschiedene Probleme.

Das mit dem Browser hast Du ja schon gesehen, der kommt dann schon mit dem Javascript nicht zurecht.
Ähnlich wird es wohl der Spracherkennung gehen, hast Du da überhaupt Google Voice drauf ? :wink:
Und dann kommt wahrscheinlich noch die Performance Frage hinzu,

Ich werde wohl in einen der nächsten Updates die Versionsanforderung raufschrauben :wink:

Viele Grüße

Hallo,

ich habe gerade noch was entdeckt:
DIe App ist über Nacht gelaufen. Heute nachmittag war der Speicher voll. Hatte ca. 1GB im Speicher.
Voice ist momentan sehr hungrig :slight_smile:

BabU

Ja, das deckt sich mit meinen Erkenntnissen.

Der Bug erinnert mich an die allererste Version,
da hab ich noch jedesmal via Sprache ausgeben lassen,
was der die Spracherkennung verstanden hat.
Das führte allerdings wiederum dazu, dass die Spracherkennung zuhörte,
was das Handy sagte…

Und so unterhielt sich das Handy mit sich selbst, war ganz lustig :wink:

So, lange Rede kurzer Sinn, eine neue Version ist unterwegs,
ich hoffe, dass ich damit die rekursive Spracherkennung los bin, das Teil also nicht wieder in sich selbst verreckt.
Ebenso ist in dem Zusammenhang der Speicherverbrauch gesungen, denke ich zumindest, das habe ich noch nicht
getestet.

Außerdem habe ich angefangen eine Bluetooth Unterstützung einzubauen, diese ist zwar noch nicht aktiv,
aber bereits vorbereitet und wird demnächst aktiviert werden.

Last but not Least :
Ein Dankeschön an alle Leute hier die eifrig mitarbeiten!
Egal ob im Forum, per Mail oder per Absturzbericht.
Ohne das Testen von vielen Leuten in allen Umgebungen
ist solch eine Entwicklung gar nicht möglich !
Vielen Dank!

Hallo,

habe das neue installiert.
Schaltet immer zwischen den Modi um.
der eine Ton, dann der andere. Vermutlich google aktiv / nicht aktiv.
Das popup mit dem Text fehlt jetzt.
Irgendwann reagierts dann nicht mher auf Spracheingabe.
Eventuell könnten Umweltgeräüsche dafür verantwortlich sein.
Könnte man nicht einfach die Sprachsuche google nach x sec abschlaten? Ev in den Einstellungen die Abschaltzeit (max Dauer) definieren?

Viele Grüsse
Baldur

Nachtrag:
das dingends geht in eine Schleife mit den Tönen, die bei Spracheingabe kommen.
Ich habe die Lautstärke auf null gesetzt, dann funktioniert es zum Teil.
Die „Rückkopplung“ ist dann weg.
Der rote / grüne Punkt für die Spracheingabe ist nur sichtbar, wenn das Handy horizontal betrieben wird.
Die Spracheingabe geht nur eine bestimmte Zeit - dann keine Reaktion.
Erst nach Neustart gehts wieder einige Zeit.

Babu

Hallo Babu,

jetzt bin ich mal neugierig,
was für ein Handy oder Tablet benutzt Du ?

Die drei Buttons sehe ich immer.

Was die Popups angeht, so kommen Fehlermeldungen immer hoch, „Normale“ Ablaufanzeigen kannst Du in den Settings unter Toast abstellen

Der Ablauf in der App ist eigentlich folgender:

  1. Offline Spracherkennung starten
  2. Mithören und Ergebnisse auswerten
  3. Wenn Wakeup kommt, dann Offline Spracherkennung beenden und Google Online Starten
  4. Mithören (mit Timeout) -> ausführen, sprich nach IPS Senden, ggf. ausgeben und wieder nach 1

Er wechselt also bei Dir immer von grün auf rot und zurück, dauerhaft ?
Welches Wakeup Kommando benutzt Du ?

Nachtrag: Ich wette ein Bier, Dein Wakeup Kommando besteht aus einem Wort.

Viele Grüße

Hi so es geht ein Schritt weiter aber was braucht man in IPS noch ?

In der HardwareHelper.php steht:

IPSUtils_Include („IPSLogger.inc.php“, „IPSLibrary::app::core::IPSLogger“);

Was sind die IPSUtils ? Braucht man also noch IPSLogger ? Braucht auch noch IPSLibrary ?

@babu

Ich habe das ganze mal analysiert.

Je einfacher das Wakeup Kommando ist, desto wahrscheinlicher wurde mit der Default Einstellung ein Treffer angenommen.
Das bedeutet, wenn du z.B. nur ein einzelnes (kurzes) Wort benutzt, ist die Wahrscheinlichkeit hoch, dass auch Umgebungsgeräusche das Wakeup auslösen.

Ich habe dazu nun in den Settings einen Schwellen Parameter eingebaut, Dieser reicht von -80 bis +80.
-80 bedeutet quasi immer Treffer
+80 bedeutet ruhiges HochEnglisch :wink:

Die Einstellung wird nach einer Zeit automatisch übernommen, (wenn intern der WakeUp Recognizer neu gestartet wird) oder wenn man auf den grünen Button klickt/drückt.

Mit dem Button kann man nun auch das Wakeup auslösen.

Welcher Schwellenwert nun ideal ist, das hängt vom Kommando, Sprecher und Umgebung ab, hier kannst Du dann etwas probieren.