FHEM Sprachsteuerung mit AMAD 2.6 und AutoVoice/Automagic

Begonnen von CoolTux, 11 August 2016, 14:15:31

Vorheriges Thema - Nächstes Thema

Amenophis86

Ich lasse es über Google Now laufen. Sobald ich "ok Google" sage wird die Sprachaufnahme gestartet und wenn Autovoice erkennt, dass der Command Filter auf das gesprochene passt, dann wird der Flow gestartet. Das hat auch zur Folge, dass die Google Now App in den Hintergrund geschoben wird und die davor aktive App wieder nach vorne kommt.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Code006

es liegt wohl an meinem Android 4.2.2, da hört Google nicht ständig zu, bzw. ich habe nicht gefunden, wie man es dauerhaft, ohne manuellen Eingriff am Tablet, aktiviert.
Mit dem "continuous mode" innerhalb von AutoVoice klappt es aber sehr gut und da das Tablet nur für die Haussteuerung an der Wand hängt, ist es nicht weiter schlimm, dass die "normale" OK Google Suche nicht funktioniert...

Amenophis86

Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

Zitat von: Amenophis86 am 11 Januar 2017, 16:44:36
Bin gerade ein Stück weiter gekommen. Werde mal weiter testen.

Danke für den Tipp.

Edit:
übrigens, wenn man bei match mit "(.*)Wert(.*)" arbeitet, dann ist egal, ob das gesucht Wort am Anfang, Mitte oder Ende im String steht. Das hatte ich schon länger gesucht beim Abgleich mit dem String von der Spracheingabe im Script. Das war es, was ich hier gesucht hatte:
Hilft zwar noch nicht beim Trigger mehr Varianten zu bringen, aber zumindest schon mal im Flow dahinter :)

Was wichtig zu wissen ist, habe ich eben erst bemerkt, es wird im kompletten String geschaut, ob es vorkommt. Allerdings schaut Automagic nun auch, ob es in einem Wort vorkommt. Beispiel ich suche nach "(.*)ende(.*)" dann wird auch "beenden" als richtig erkannt.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

ih-sqeezer

Hallo CoolTux,

ich bin von der Idee her völlig begeistert, fhem via voice control zu steuern.
Ich habe mich dazu gleich ans Werk gesetzt und die notwendigen apps installiert und konfiguriert.
Leider erhalte ich bei der Umsetzung der Temperaturabfrage immer nur das gleiche zu hören:

"Im [Raum] sind es heiß Grad"

Dabei habe ich im Automagic flow gesehen, dass der command so aussieht:

readingsvalcmd = "{fhemdevice} temperature heiß"
fhemcmd = "readingsval"

In der AMADComBridge gibt es jedoch den command "readingsvalcmd" nicht. Das heißt, ich hatte AMAD schon vor einigen Wochen auf diesem Tablet eingerichtet. Dabei funktionierte die Steuerung von Display etc ohne jegliche Probleme.
Kann es sein, dass dieser flow nicht aktualisiert wurde beim Import deines FlowSets?! Aber normalerweise werden doch alle gleichnamigen flows beim Import überschrieben, richtig?

Irgendetwas ist da noch falsch konfiguriert. Kannst du mir da evtl. weiterhelfen?

Danke und ein schönes Woe.
Grüße,
Ingo

CoolTux

Hallo Ingo,

readingsvalcmd sollte es in der AMADCommBridge geben. Dritter Strang von links ganz unten das im letzten Viereck.
Eventuell passt was mit dem Devicenamen oder dem Readingnamen nicht. Denn das heiß ist so zu sagen der Default Wert wenn das Reading nicht zur Verfügung steht.
Da Du gerade frisch anfängst würde ich gerne heute im Laufe des Tages eine neue Version hochladen. Habe da so einiges noch erweitert.


Grüße
Leon



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Habe eben mal eine aktuelle Version im ersten Post angehangen. Hier sind noch so ein paar schönere Sachen dabei.
Ich werde, da ich ja nun meinen LG Fernsehr auch steuern kann, mir da noch mehr zu bauen. Im Moment geht erstmal Lautstärke vom LG steuern.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ih-sqeezer

Hallo Leon,

sorry für die späte Antwort meinerseits.
Also ich habe mal alles neu aufgesetzt bezüglich Automagic und AutoVoice, die flowsets alle neu eingespielt und auch dein neues flowset dabei benutzt.
Zusätzlich habe ich das Ganze parallel mal auf meinem Android Mobile (v6.0.1) aufgesetzt. Wobei das Android Tab auf Android v4.4.2 läuft.
Jedoch nützt es nichts, es bleibt beim gleichen Problem.
In dem AMADComBridge flow habe ich den reradingsvalcmd auch erfolgreich gefunden. Danke dir.
Auch in den flows von dir habe ich die scripte jeweils angepasst.
Kannst du mir bitte mal zeigen, wie der Befehl im fhem ankommen soll?
Laut meiner Kenntnis kommt er derzeit so an:
{readingsval("ThermostatBad","temperature","heiß")}
Jedoch erhalte ich beim Absetzen dieses Kommandos in fhem exakt das Ergebnis "heiß". Demzufolge sollte der flow passen.
Benötige ich im fhem eventuell noch irgendetwas? Oder ich muss da noch etwas vergessen haben zu konfigurieren?
Bis dato steh ich damit noch etwas auf dem Schlauch :-(

PS: Muss man in der AMADComBridge jeweils die basicAuth ergänzen, sofern man eine in fhem benutzt? Bisher habe ich dies nicht gemacht und beide Android Geräte funktionierten ohne jegliche Probleme bezüglich AMAD (Bsp. Volume, ScreenBrightness, etc.). Jedoch funktioniert die Temperaturabgrafe via Voice auch nicht mit ergänzter basicAuth in diesem flow.

Grüße,
Ingo

darkness

Hallo,

ich versuche gerade die Sprachsteuerung mit Google umzusetzen.  Dabei ist mir folgendes aufgefallen.

Wenn ich das Handy aktiviere und "ok google ... " sage, klappt alles (Es erscheint das kleine Fenster "possible comands")

Ist der Bildschirm des Handy deaktiviert (aber am Ladegerät) kann ich zwar "ok google" sagen und die Suche wird aktiviert. Aber es wird kein Befehl ausgeführt (Das kleine Fenster erscheint nicht).

Ich vermute das ich hier eher Probleme mit AutoVoice habe, oder? (Verwende Android 7.1.1)

CoolTux

Nicht ganz. Das liegt daran das Dein Handy gesperrt ist. Wenn du es ohne Sperre machst  z.b. mit Daydream dann klappt es wieder.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

darkness

Hm, leider klappt das nicht.

Bildschirmschoner wird zwar aktiviert, aber ich habe trotzdem nur die Google suche ohne .

Habe aber das dazu gefunden (http://forum.joaoapps.com/index.php?threads/autovoice-with-google-now-integration-doesnt-trigger-when-screen-is-off-just-does-a-search.8032/)

CoolTux

Ok. Bei meinem Nexus5x geht das so weit.
Naja wir bekommen ja bald den Assistenten da ja GoogleNow angekündigt ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

darkness

Hmm, ja. Mal schauen wie "neugierig" der dann ist....

Trotzdem Danke für deine Hilfe. Habe es jetzt so gelöst, dass ich einen Flow habe, welcher den Lock-Pattern deaktiviert wenn mein WLAN verbunden ist und aktiviert, wenn WLAN nicht mehr verbunden. Damit scheint es zu klappen.

ih-sqeezer

Hallo Leon,

nun habe ich doch meinen Fehler gefunden.
Ich hatte in den scripts die Namen der Thermostate in fhem falschherum geschrieben.
Also aus "ThermostatBad" musste einfach nur "BadThermostat" gemacht werden.
Jetzt funktioniert auch die Temp-Abfrage super!
Nun bin ich dabei die Thermostate zu steuern. Hierbei ist es mir jedoch noch nicht gelungen den flow über die korrekten "Worte" zu aktivieren.
Was sagst du, wenn du zum Beispiel das Thermostat im Badezimmer schalten möchtest?
Auch mit einem Debug breakpoint komme ich gar nicht erst in den flow vom Thermostat schalten.

Grüße,
Ingo

CoolTux

Hallo Ingo,

Ach Mensch Sorry, Dich hatte ich irgendwie aus den Auigen verloren.
Wenn ich den Thermostat im Bad schalten will sage ich einfach
"stelle den Thermostat im Bad auf 19 Grad" kannst auch sagen "schalte den Thermostat im Bad auf 19 Grad" Sollte beides gehen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net