Alicoid: Android Sprachsteuerung via andFHEM

Begonnen von hokascha, 09 Oktober 2014, 13:30:39

Vorheriges Thema - Nächstes Thema

hokascha

Hallo zusammen,

ein kurzer Hinweis auf die aktuelle Version des Android-Sprachassistenten Alicoid. Damit kann man jetzt im Zusammenspiel mit andFHEM die Geräte von FHEM per Sprache fernsteuern.

Beispiel:

Zitat
Schalte das Licht im Wohnzimmer ein
Wie warm ist es im Arbeitszimmer?

Die App holt sich von andFHEM die konfigurierten Geräte und bietet daraufhin eine Auswahl an, in der man dann z.B. "Licht im Wohnzimmer" mit dem FHEM-Gerät "LichtWohnzimmer" verknüpfen kann. Fortan reicht dann einfach ein "Schalte das Licht im Wohnzimmer ein/aus", um Steuerungsbefehle abzusetzen.

Hier gibt's eine kostenlose Test-Version:
https://play.google.com/store/apps/details?id=com.kkdevs.alicoid.trial

und hier die Vollversion:
https://play.google.com/store/apps/details?id=com.kkdevs.alicoid

Disclaimer: Ich bin der Entwickler der App Alicoid. Die FHEM-Unterstützung ist noch brandneu und sicherlich nicht perfekt, freue mich über Feedback.

Mehr Infos zur App: http://www.alicoid.com

Steffen

Hallo!

Kurz getestet und was mir gleich Fehlte ist mit einem Befehl einen link(zb.:http://xxxx:8083/fhem"befehl") zu öffnen, das toll wäre?!
Die Verknüpfung zum andfhem ist ok!

Mfg Steffen

hokascha

Hallo Steffen,

den Link brauchst Du nicht. Die eigentliche Verbindung zu FHEM macht ja andFHEM. Aber es wäre vielleicht nützlich, einfach einen beliebigen Befehl erteilen zu können. Kommt mit dem nächsten Update :-)

Grüße,

Kevin

Navigator

Beim Versuch andFhem Geräte zu verknüpfen mit dem Kommando "Schalte das Licht im Wohnzimmer ein" wird die App leider beendet.  :o ... Android 4.4.2

hokascha

Welche andFHEM-Version verwendest Du? Premium?

Navigator

ähm...nein, habe mir gerade von beiden Apps die freie Version installiert um zu testen.

hokascha

Die Verbindung zwischen andFHEM und FHEM funktioniert aber?

Navigator

...ja, kann ohne Probleme über andFHEM schalten.

raspklaus

Ist das so zu verstehen dass man den Tasker dann nicht mehr braucht ?

Cbytee

Hi, die App ist prima, allerdings scheint sie die Variante mit Tasker noch nicht ablösen zu können, da z.B. Rollo, Garage, Tür, etc. noch nicht bedient werden können. Auch klappt die Abfrage der Temperatur nur mit den Fht Devices nicht mit Max oder den normalen ws300 Temperaturfühlern.

hokascha

Ja genau, Tasker bräuchte man dann nicht mehr. Aber wie Cbytee schon richtig anmerkt: Das ganze funktioniert bisher erst mit einigen wenigen Geräten. Das wird ausgebaut. Ihr könnt auch gerne hier Wünsche äußern. Schlussendlich reicht die App ja nur FHEM-Befehle weiter. Also wer Bedarf hat darf hier gern seinen gewünschten Sprachbefehl nebst resultierendem FHEM-Befehl hinterlassen, ich schau dann mal, inwieweit sich das umsetzen lässt.

Cbytee

Hi,
Danke für das Angebot ;-)
Also ich bräuchte aktuell folgende Befehle um den Tasker zumindest für diese Zwecke "loszuwerden":
Öffne die Tür -- Device Keymatic-- set Tür open
Öffne die Garage --Device Homematic-- set Garage on-for-timer 1
Schließe die Garage --Device Homematic-- set Garage on-for-timer 1
Stelle die Heizung im Wohnzimmer auf 23 Grad -- Device Fht-- set WZHeizung desired-temp 23.0
Stelle die Heizung im Schlafzimmer zimmer auf 23 Grad -- Device Max-- set SZHeizung desiredtemp 23.0
Und die Temperaturabfragen auf Max Devices und auf die normalen Temperaturfühler zu parsen.

Cbytee

Achja: fahre die Wohnzimmer Jalousie hoch -- set WZ_Rollo up -- und natürlich wieder runter-- wäre auch noch gut

raspklaus

Die App funktioniert aber nur mit der kostenlosen Variante von andFHEM. Bei andFHEM Premium schaltet nichts

hokascha

Um einfache FHEM-Befehle ausführen zu könne, könnt ihr Euch selbst Befehle erschaffen:

1. Sagt z.B." Öffne die Tür"
2. Alicoid wird mangels Kenntnis des FHEM-Befehls stattdessen versuchen eine App namens "Tür" auf Eurem Smartphone zu öffnen. Einfach ignorieren und auf den Zurück-Button des Smartphones tippen.
3. Tippt den eben gesprochenen Text lange an und wählt im folgenden Kontext-Menü die Option "Korrigieren" aus.
4. Jetzt könnt ihr manuell einen FHEM Befehl eingeben, z.B. "FHEM cmd Set Tuer open". Grundsätzlich also "FHEM CMD <Befehl>"
5. Den Haken bei "speichern" setzen und auf OK tippen.

Jetzt sollte immer wenn ihr "Öffne die Tür" sagt, der gewünschte Befehl ausgeführt werden. Das funktioniert dann mit potentiell jedem Sprachbefehl, "Simsalabim" und "Sesam öffne Dich" gehen also auch ;-)

Mit diesem Mechanismus sollten dann alle FHEM Aktionen ausführbar sein, die keine Auswertung der Antwort von FHEM bedürfen und relativ statisch sind, also z.B. keine Variablen für Temperaturen etc. enthalten.

hokascha

Zitat von: raspklaus am 27 Oktober 2014, 13:12:22
Die App funktioniert aber nur mit der kostenlosen Variante von andFHEM. Bei andFHEM Premium schaltet nichts

Eigentlich sollte das unabhängig von der verwendeten Version fuktionieren, denn beide unterscheiden sich in diesem Punkt nicht, ist die Aussage des Entwicklers. Allerdings darf nur eine der beiden FHEM-Versionen auf dem Smartphone installiert sein, nicht beide gleichzeitig.

Steffen

Hallo!

Ist es auch Möglich die Funktion einzubauen, das Alicoid ständin zuhört und auf schlüssel Wörter reagieren könnte?

Mfg Steffen

hokascha

Zitat von: Steffen am 27 Oktober 2014, 14:17:24
Ist es auch Möglich die Funktion einzubauen, das Alicoid ständin zuhört und auf schlüssel Wörter reagieren könnte?

Derzeit nicht, da es noch keine wirklich brauchbare Möglichkeit dafür unter Android gibt, Google behält sein "OK, Google" schön für sich. Wirklich ständiges zuhören würde Akku und Datenvolumen erheblich belasten..

raspklaus

Zitat von: hokascha am 27 Oktober 2014, 14:16:08
Eigentlich sollte das unabhängig von der verwendeten Version fuktionieren, denn beide unterscheiden sich in diesem Punkt nicht, ist die Aussage des Entwicklers. Allerdings darf nur eine der beiden FHEM-Versionen auf dem Smartphone installiert sein, nicht beide gleichzeitig.

Es kann nur eine Version installiert sein ansonsten kommt eine Fehlermeldung. Wenn ich den Befehl "Schalte Brunnen ein" in der kostenlose Version verwende dann antwortet alicoid und fhem schaltet. Das gleiche mit fhem premium dann antwortet alcoid nicht und auch weiterhin passiert nichts

Cbytee

Zitat von: hokascha am 27 Oktober 2014, 14:14:01
Um einfache FHEM-Befehle ausführen zu könne, könnt ihr Euch selbst Befehle erschaffen:

1. Sagt z.B." Öffne die Tür"
2. Alicoid wird mangels Kenntnis des FHEM-Befehls stattdessen versuchen eine App namens "Tür" auf Eurem Smartphone zu öffnen. Einfach ignorieren und auf den Zurück-Button des Smartphones tippen.
3. Tippt den eben gesprochenen Text lange an und wählt im folgenden Kontext-Menü die Option "Korrigieren" aus.
4. Jetzt könnt ihr manuell einen FHEM Befehl eingeben, z.B. "FHEM cmd Set Tuer open". Grundsätzlich also "FHEM CMD <Befehl>"
5. Den Haken bei "speichern" setzen und auf OK tippen.

Jetzt sollte immer wenn ihr "Öffne die Tür" sagt, der gewünschte Befehl ausgeführt werden. Das funktioniert dann mit potentiell jedem Sprachbefehl, "Simsalabim" und "Sesam öffne Dich" gehen also auch ;-)

Mit diesem Mechanismus sollten dann alle FHEM Aktionen ausführbar sein, die keine Auswertung der Antwort von FHEM bedürfen und relativ statisch sind, also z.B. keine Variablen für Temperaturen etc. enthalten.
Irgendwie klappt das mit den eigenen befehlen bei mir nicht. Kann zwar auf korrigieren gehen und gemäß der angefügten Syntax versuchen andFHEM zu triggern, es wird aber nichts weitergereicht. Evtl. Ist irgendwie auf CaseSensitivität zu achten? Kannst du einmal einen originalen Befehlssatz ohne "" usw. Zur Verfügung stellen?

Danke schon mal vorab
Gruß cbytee

hokascha

Zitat von: Cbytee am 06 November 2014, 04:54:18
Irgendwie klappt das mit den eigenen befehlen bei mir nicht. Kann zwar auf korrigieren gehen und gemäß der angefügten Syntax versuchen andFHEM zu triggern, es wird aber nichts weitergereicht. Evtl. Ist irgendwie auf CaseSensitivität zu achten? Kannst du einmal einen originalen Befehlssatz ohne "" usw. Zur Verfügung stellen?

Groß/Kleinschreibung ist nicht relevant. Du kannst auch zunächst mal die Funktion der FHEM-Befehle an sich testen, indem Du im Menü von Alicoid auf "Text eingeben" tippst und dort manuell einen FHEM-Befehl eingibst, z.B.:
FHEM CMD set LampeWohnzimmer on

Wenn das funktioniert, sollte auch der oben beschriebene Weg mit Spracheingabe und Korrigieren funktionieren.

Cbytee

Leider klappt auch dies nicht, ausser der Antwort - Ok - landet kein Befehl bei Fhem..

hokascha

Zitat von: Cbytee am 16 November 2014, 05:39:08
Leider klappt auch dies nicht, ausser der Antwort - Ok - landet kein Befehl bei Fhem..

Seltsam. Wenn ich das richtig aus Deinen vorangegangenen Posts verstehe, funktionieren aber die fest eingebauten Kommandos wie "schalte das Licht im Wohnzimmer ein" ?

Cbytee

Hi, genau, daher meine frage nach der richtigen "Schreibweise".. Bei dem Wort "schalte" fragt er mich nach dem Device, also andFHEM wird getriggert, aber bei Fahre die Schlafzimmer Jalousie runter, und entsprechender korrektur gemäß deiner Anweisung greift er nicht auf andFHEM zu..

hokascha

Zitat von: Cbytee am 17 November 2014, 16:58:40
Hi, genau, daher meine frage nach der richtigen "Schreibweise".. Bei dem Wort "schalte" fragt er mich nach dem Device, also andFHEM wird getriggert, aber bei Fahre die Schlafzimmer Jalousie runter, und entsprechender korrektur gemäß deiner Anweisung greift er nicht auf andFHEM zu..

Kannst Du mal so einen FHEM-Befehl hier zeigen? Die einzig denkbare Einschränkung, die mir gerade einfällt, ist dass der Befehl keine Umlaute/Sonderzeichen enthalten sollte. Aber das dürfte bei FHEM-Befehlen ja eh nicht der Fall sein, oder?

Cbytee


hokascha

Zitat von: Cbytee am 19 November 2014, 15:52:32
FHEM CMD set Kueche_Rollo up z.B.

Ich kann das leider nicht nachstellen. Habe es eben selbst nochmal probiert, mit: FHEM CMD set Steckdose1 off
Im Log von FHEM erscheint erwartungsgemäß:
2014.11.20 16:19:12 4: HTTP FHEMWEB:192.168.178.39:45769 GET /fhem?XHR=1&cmd=set+Steckdose1+off
2014.11.20 16:19:12 3: FS20 set Steckdose1 off
2014.11.20 16:19:12 4: eventTypes: FS20 Steckdose1 off -> off


Ein Gerät Kueche_Rollo gibt's bei mir natürlich nicht, aber auch der Zugriff mit exakt Deinem Befehl erscheint im Log:
2014.11.20 16:17:18 4: HTTP FHEMWEB:192.168.178.39:38954 GET /fhem?XHR=1&cmd=set+Kueche_Rollo+up

Damit im Log von FHEM etwas passiert muss attr global verbose 4 gesetzt sein.

Wenn dort bei Dir nichts ankommt, muss es wohl an der Verbindung zwischen Alicoid und andFHEM liegen, obwohl ich mir gerade nicht erklären kann, was da haken soll, wenn nur der manuelle bzw. korrigierte Befehl nicht funktioniert.

Cbytee

HTTP FHEMWEB:192.168.2.46:41892 GET /fhem?XHR=1&cmd=set+CUL_HM_HM_ES_PMSw1_Pl_2B2AC9_Sw+on

Cmd: >set CUL_HM_HM_ES_PMSw1_Pl_2B2AC9_Sw on<

Triggering WZFernseher (1 changes)

(http://tapatalk.imageshack.com/v2/14/11/20/a9392351f00edaaf450c840db15f42e3.jpg)

Also über das Wort schalte triggert er andFHEM aber über Korrektur und entsprechendem Befehl kommt ausser ok bei Alicoid, zumindest nichts im Log an..

Navigator

...bei mir funktioniert es ebensowenig. Habe die andFHEM Premium sowie die Full Alicoid. Es wird bei "Schalte das Licht im Wohnzimmer ein" zwar meine gültige Aktorenauswahl angezeigt und mit "ok, ich merks mir" übernommen, aber ein Schaltbefehl in FHEM kommt nicht zu stande. Auch über eine Texteingabe über FHEM CMD set blabla on erreiche ich mein Aktoren nicht.

Firelight

Hallo,

Bei mir functioniert es auch nicht. Habe auch beide apps die volle version. Wo koennte dieses problem liegen?

mw77

#30
Hallo,
habe jetzt seit längerem auch mal wieder getestet, weil das schalten nicht klappte hatte ich die Alicoid App länger nicht benutzt. Schalten über andFhem geht einwandfrei. Beim Testen ist mir jetzt aufgefallen, das ich zwar nicht schalten kann, aber die Temperaturabfrage funktioniert. Beim Schalten ist es genauso wie Dittel es beschreibt.
Habe auch wie oben beschrieben, den Befehl über Texteingabe senden ausprobiert, funktioniert aber auch nicht.
Habe beide Apps als Vollversion auf einem Galaxy S5 mit Android Version 4.4.2.

Habe jetzt mal beide Apps auf meinem Tablet installiert, auch als Vollversion, dort funktioniert alles einwandfrei. Tablet ist ein Huawei Media Pad 7 lite mit Android Version 4.0.3.

Vielleicht helfen die Angaben ja bei der Fehlersuche.

Edit:
Habe jetzt mit einem Samsung Galaxy S3 Handy getestet, gleiches Verhalten wie beim S5, Temperaturen kann ich abfragen, schalten kann ich aber auch hier nichts. Android Version 4.3
HM, HMIP, Shelly, und anderes

hokascha

Könnte es sein, dass es funktioniert, wenn die andFHEM-Premium-Version direkt vom Play Store gekauft/installiert wird und dass es nicht funktioniert, wenn die Voll-Version per In-App-Kauf der Standard-Version erlangt wurde? Oder umgekehrt?

aliate

Bei mir funktioniert die Sprachsteuerung mit Alicoid und andFHEM recht gut.

Ich habe die andFHEM Premium Version (Kauf über die andFHEM Free Version).

Benutze die Sprachsteuerung nur zum Ein- bzw. Ausschalten von Lampen/Steckdosen und das geht einwandfrei. Was nicht klappt ist das Absetzen von Befehlen mittels FHEM CMD, ist für mich allerdings nicht schlimm.

Gruß

stefanm

Ich hohl das Thema noch mal hoch auch bei mir gehts nur mit der free Version von andfhem

Stefan
HM-Lan       HM-CC-TC Raumthermostat HM-CC-RT-DN & HM-CC-VD Heizkörperventil Dimmer HM-LC-DIM1T-FM 3 Stück
und divrse FS20 Komponenten  FHZ1000  mit div Schalter und Wandtaster  Max Heizung, Fenster Alarmanlage

Wolle02

Hallo, bei mir hat das Ganze mit meinem Galaxy S4 mini, der FreeVersion von Alicoid und der Premium Version von andFhem ganz gut funktioniert. Mein Testlicht wurde schön eingeschaltet und ausgeschaltet.

Was nicht funktioniert hat war das Erstellen von eigenen Befehlen wie in Post #14 von hokascha beschrieben und das Auslesen der Temperatur meines Außenthermometers (hier hab ich aber vielleicht auch nur den Dreh noch nicht richtig raus).

Was mich interessiert bevor ich mir die Vollversion von Alicoid zulege ist folgendes:

1. Ist hokascha hier noch aktiv und wird die App in Richtung Fhem noch weiterentwickelt?
2. Falls ja, ist es möglich die "Ok Google" Spracherkennung in die App zu integrieren so wie das bei andFhem und autoVoice (Tasker Plugin) bereits möglich ist?

Ich finde Alicoid eigentlich ganz gut und das Handling im Zusammenhang mit Fhem besser als mit Tasker, deshalb würde ich die App gerne nutzen wollen. Das mache ich aber von den Antworten zu den beiden Fragen abhängig  ;)

Gruß
Wolle

hokascha

Zitat von: Wolle02 am 03 April 2016, 12:44:35
1. Ist hokascha hier noch aktiv und wird die App in Richtung Fhem noch weiterentwickelt?
Ist er :-) Die App wird auch noch weiter in Richtung FHEM entwickelt - intern hab ich schon ein paar neue Sachen implementiert, es fehlt noch an der Oberfläche. Sowas wie "Erinnere mich den Müll mitzunehmen, wenn ich gehe", was sich dann an den Türsensor der Wohnungstür koppeln lässt :-)

Zitat von: Wolle02 am 03 April 2016, 12:44:35
2. Falls ja, ist es möglich die "Ok Google" Spracherkennung in die App zu integrieren so wie das bei andFhem und autoVoice (Tasker Plugin) bereits möglich ist?
Das habe ich bisher immer vermieden, einfach weil's ein Hack ist. Aus Entwicklersicht hole ich mir damit viele Abhängigkeiten und neue Probleme ins Boot, bin noch unschlüssig ob es das wert ist...

Grüße,

Hokascha

Wolle02

Hallo, danke für deine Antwort. Zwischenzeitlich habe ich das ganze mal mit AutoVoice und Tasker realisiert. Das funktioniert bislang ganz gut weswegen ich wohl vorerst mal dabei bleiben werde. Aber ich werde Alicoid weiter im Auge behalten.

Ich versteh von Programmierung nicht viel, deswegen begreife ich auch nicht warum die "Ok Google"-Sache bei dir ein Hack ist und bei andFHEM und Tasker zum problemlosen Funktionsumfang gehört. Immer erst auf einen Knopf am Handy drücken zu müssen ist gegenüber "Ok Google" einfach ein Killerkriterium.

Gruß Wolle