NEWS
[Aufruf] Adapter: Snips - Offline Speak2Text
-
@Wal:Sieht aus als ob er die mqtt.js nicht findet.
Mach mal im ioBroker Verzeichniss ein "npm install mqtt" `
Hallo Walter,
die Installation "npm install mqtt" hat mein Problem behoben. Der Adapter läuft.
Ich habe allerdings nicht verstanden weshalb der Snips Adapter diese Installation benötigt. Ich hatte doch bereits vorher den MQTT Adapter auf meinem IOBroker installiert.
-
Hallo Frank,
das kann ich dir beantworten, wenn ich Walter kurz vorgreifen darf.
Der Adapter benötigt das npm Paket "MQTT", welches nicht gleichbedeutend mit dem gleichnamigen Adapter ist. Durch deinen Befehl hast du das Paket installiert und der Snips-Adapter läuft. In der Konfig des Snips-Adapters feht in der aktuellen Version diese Abhängigkeit. Damit wird das Paket automatisch installiert, falls nicht vorhanden.
Ich habe mich die Tage mal etwas mit der Auswertung der Slots aus Snips beschäftigt und deinen Adapter etwas ergänzt. Werde dir später (Hab noch ein letztes Problem zu lösen.) mal auf Github einen pull-request als Vorschlag schicken. Evtl. kannst du da mal drüber schauen.
In meiner Entwicklungsumgebung wird jetzt die "ioBroker"-App von Snips ausgewertet. Übergeben werden dabei der Text, wie bisher, desweiteren die Werte der Slots (für spätere Auswertung) und der kompilierte Text. Also der Originaltext bei dem die Slots die erkannten Wörter ersetzen. Wichtig um etwa Zahlen in ioBroker zu verarbeiten.
Beispiel:
Setze Licht in der Küche auf fünfzig Prozent. (gesprochen)
setze licht in der küche auf fünfzig prozent (erkannter Text)
setze Licht in der Küche auf 50 Prozent (kompilierter Text und Übergabe an text2command)
Licht (slotDevice)
Küche (slotRoom)
50 (slotValue)
Prozent (slotValuetype)
Außerdem ist der Adapter in ein paar Kleinigkeiten angepasst, so dass du jetzt das Testen hinzufügen (Issue auf github) und in das Repo stellen kannst. Dadurch wird dann auch das MQTT-Paket mitinstalliert.
-
Ich habe mich die Tage mal etwas mit der Auswertung der Slots aus Snips beschäftigt und deinen Adapter etwas ergänzt. Werde dir später (Hab noch ein letztes Problem zu lösen.) mal auf Github einen pull-request als Vorschlag schicken. Evtl. kannst du da mal drüber schauen.
In meiner Entwicklungsumgebung wird jetzt die "ioBroker"-App von Snips ausgewertet. Übergeben werden dabei der Text, wie bisher, desweiteren die Werte der Slots (für spätere Auswertung) und der kompilierte Text. Also der Originaltext bei dem die Slots die erkannten Wörter ersetzen. Wichtig um etwa Zahlen in ioBroker zu verarbeiten.
Beispiel:
Setze Licht in der Küche auf fünfzig Prozent. (gesprochen)
setze licht in der küche auf fünfzig prozent (erkannter Text)
setze Licht in der Küche auf 50 Prozent (kompilierter Text und Übergabe an text2command)
Licht (slotDevice)
Küche (slotRoom)
50 (slotValue)
Prozent (slotValuetype)
Außerdem ist der Adapter in ein paar Kleinigkeiten angepasst, so dass du jetzt das Testen hinzufügen (Issue auf github) und in das Repo stellen kannst. Dadurch wird dann auch das MQTT-Paket mitinstalliert. `
Super für deine Eigeninitiative, das trifft man selten.
Im Moment hänge ich an der Sprachfernbedienung für Kodi und Snips fest, ich bekomme das Micro nicht ans laufen. Komischerweise funktioniert die Aufnahme mit Sam, aber nicht die Sprachbefehle. Als zweites programmiere ich gerade an meiner Sip-Türsprechstelle (DoorPi https://www.doorpi.org) rum.
Nochmals vielen Dank an dich, mach so weiter :D.
-
Gerne, ich hoffe es läuft alles so rund wie beim Testen.
Würde noch die Aufnahme des Adapters ins Repo beantragen, mit deinem Einverständnis.
-
Na klar, freue mich immer, wenn es weiter geht.
Gesendet von meinem Ulefone_Armor_5 mit Tapatalk
-
:shock: Grad noch einen kleinen Bug gefunden. Springt trotz erkanntem Intent/Slot trotzdem nochmal im Switch auf den Default Block. Daher wird 2 x mal an text2command übergeben.
-
Okay, gefunden. in Kürze neuer Pull-Request.
-
Repo-Eintrag beantragt.
Kannst du bitte noch den Pull-Request annehmen und das ganze dann nach npm publishen?
-
An alle, die den Adapter testen hier kurz meine Erfahrungen:
Ich habe NUR die "ioBroker"-App auf meinem Snips-Assistenten installiert, zusammen mit der neuesten Version des Adapters. Im text2command Adapter sind bei mir zum steuern von Rollos und Licht lediglich die beiden Regeln "Rollladen auf/zu machen" und "Schalte an oder aus mit Funktion" aktiviert.
Beim Licht muss man momentan zum dimmen noch sagen "Schalte das Licht im Wohnzimmer auf 50 Prozent AN". Das liegt einfach an den Schlagworten dieser Regel. Alternativ könnte man das in Zukunft einfach hier einbauen, also "Schalte das … auf 50%" wird ergänzt durch "AN".
Bei den Rollos funktioniert die Steuerung bei mir nur mit einem kleinen Fix. Dazu habe ich bereits einen Request beim Repo von text2command gestellt.
Rückmeldungen wäre klasse.
Edit:
Ergänzend werden die gesprochenen Worte für an, auf, hoch, etc. jetzt als true und aus, runter, etc. als false von snips übermittelt. Daher müssen die Regeln in text2command entsprechend angepasst werden.
Wenn man z.B. Snips sagt, "Schalte den Fernseher ein" meldet Snips nun "schalte den Fernseher true". Die Regel muss somit lauten: "Fernseher true" statt "Fernseher/TV ein/an/einschalten/anschalten".
Grund dafür ist, dass dies in späteren Entwicklungsschritten dann in Funktionen leichter verarbeitet werden kann.
-
Repo-Eintrag beantragt.
Kannst du bitte noch den Pull-Request annehmen und das ganze dann nach npm publishen? `
Im npm ist es leider ohne deinen letzten kleinen Fix. Der Git ist aktuell.
Wer die neue Version testen möchte, bitte git nutzen. Es wird auch auf https://console.snips.ai das Paket ioBroker von unltdnetworx genutzt, bitte installieren.
Meine Sachen funzen ohne Änderungen mit deinem Pull-Request, Super Arbeit.
-
Hallo Frank,
das kann ich dir beantworten, wenn ich Walter kurz vorgreifen darf.
Der Adapter benötigt das npm Paket "MQTT", welches nicht gleichbedeutend mit dem gleichnamigen Adapter ist. Durch deinen Befehl hast du das Paket installiert und der Snips-Adapter läuft. In der Konfig des Snips-Adapters feht in der aktuellen Version diese Abhängigkeit. Damit wird das Paket automatisch installiert, falls nicht vorhanden.
Ich habe mich die Tage mal etwas mit der Auswertung der Slots aus Snips beschäftigt und deinen Adapter etwas ergänzt. Werde dir später (Hab noch ein letztes Problem zu lösen.) mal auf Github einen pull-request als Vorschlag schicken. Evtl. kannst du da mal drüber schauen.
In meiner Entwicklungsumgebung wird jetzt die "ioBroker"-App von Snips ausgewertet. Übergeben werden dabei der Text, wie bisher, desweiteren die Werte der Slots (für spätere Auswertung) und der kompilierte Text. Also der Originaltext bei dem die Slots die erkannten Wörter ersetzen. Wichtig um etwa Zahlen in ioBroker zu verarbeiten.
Beispiel:
Setze Licht in der Küche auf fünfzig Prozent. (gesprochen)
setze licht in der küche auf fünfzig prozent (erkannter Text)
setze Licht in der Küche auf 50 Prozent (kompilierter Text und Übergabe an text2command)
Licht (slotDevice)
Küche (slotRoom)
50 (slotValue)
Prozent (slotValuetype)
Außerdem ist der Adapter in ein paar Kleinigkeiten angepasst, so dass du jetzt das Testen hinzufügen (Issue auf github) und in das Repo stellen kannst. Dadurch wird dann auch das MQTT-Paket mitinstalliert. `
Ok, verstanden!
Danke unltdnetworx.
-
Github und NPM sind jetzt aktuell mit Version 0.1.0.
Soundfeedback an/aus gleich mit eingefügt.
-
Hi teste mal mit… Die neue Version Taucht nicht unter Update repo latest auf..
Gesendet von meinem CLT-L09 mit Tapatalk
-
Über Github installieren.
-
Eintrag im Repo ist beantragt aber noch nicht angenommen.
-
ist jetzt online….
-
An alle, die den Adapter testen hier kurz meine Erfahrungen:
Ich habe NUR die "ioBroker"-App auf meinem Snips-Assistenten installiert, zusammen mit der neuesten Version des Adapters. Im text2command Adapter sind bei mir zum steuern von Rollos und Licht lediglich die beiden Regeln "Rollladen auf/zu machen" und "Schalte an oder aus mit Funktion" aktiviert.
Beim Licht muss man momentan zum dimmen noch sagen "Schalte das Licht im Wohnzimmer auf 50 Prozent AN". Das liegt einfach an den Schlagworten dieser Regel. Alternativ könnte man das in Zukunft einfach hier einbauen, also "Schalte das … auf 50%" wird ergänzt durch "AN".
Bei den Rollos funktioniert die Steuerung bei mir nur mit einem kleinen Fix. Dazu habe ich bereits einen Request beim Repo von text2command gestellt.
Rückmeldungen wäre klasse.
Edit:
Ergänzend werden die gesprochenen Worte für an, auf, hoch, etc. jetzt als true und aus, runter, etc. als false von snips übermittelt. Daher müssen die Regeln in text2command entsprechend angepasst werden.
Wenn man z.B. Snips sagt, "Schalte den Fernseher ein" meldet Snips nun "schalte den Fernseher true". Die Regel muss somit lauten: "Fernseher true" statt "Fernseher/TV ein/an/einschalten/anschalten".
Grund dafür ist, dass dies in späteren Entwicklungsschritten dann in Funktionen leichter verarbeitet werden kann. `
Hi, kannst du mir kurz sagen welche iobroker app du installiert hast? die von equilora oder deine? Wahrscheinlich deine…
Nur um sicher zu gehen, dass die Tests dann auch Aussagkräftig sind...
-
Die ioBroker, also meine.
-
Also bei mir war bisher auch immer alles weg. Für die injects habe ich mir ganz banal ein Skript mit allen Räumen und allen Geräten gemacht. Das wird nach dem Update einfach einmal gestartet und trägt dann die beiden Listen nacheinander Wort für Wort in die beiden inject Datenpunkte ein.
Hab zuerst Pausen dazwischen drin gehabt, geht aber auch in einem Rutsch durch. Lernt alle Wörter an.
Den Skill für Respeaker hab ich bisher nicht zum Leuchten gebracht. Liegt vermutlich auch dran, dass ich die LEDs erst anders angesteuert hatte. Wenn du ihn mit SAM von Windows aus installierst, dann schreibt es die config.ini im DOS Format und es klappt nicht. Am besten die manuelle Installation wählen oder die Datei danach konvertieren. `
ich habe den Respeaker4 konfiguriert:
1. habe https://github.com/Psychokiller1888/snipsLedControl installiert
2. bei der Konfiguration des Dienstes "snipsledcontrol.service" folgenden Eintrag, damit der MQTT Dienst verbunden werden kann (ohne den Eintrag funktionierte es nicht. Ich vermute es liegt an IPv6): mqttServer=127.0.0.1
snipsledcontrol.service:
[Unit]
Description=Snips Led Control
Wants=mosquitto.service snips-audio-server.service
After=mosquitto.service snips-audio-server.service
[Service]
ExecStart=/usr/bin/python main.py –mqttServer=127.0.0.1 –hardware=respeaker4 --pattern=alexa --clientId=default --defaultState=on --leds=12 --defaultBrightness=10 --debug=True
WorkingDirectory=/home/pi/snipsLedControl_v1.6.1
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
3. Als ClientID default verwenden. Ich hatte erst einen anderen Wert definiert. Das hat nicht funktioniert
-
Hi Leute,
ich hab snips.ai mit einem Matrix Voice am laufen und bin ziemlich begeistert. Auch klasse, dass die intents und slots Einzug in den Adapter erhalten hat. WIrd es in Zukunft auch möglich sein, das mit seinen eigenen entworfenen Snips Apps zu verwenden oder ist das nicht möglich? Hab nämlich eine App extra für meine Bedürfnisse entworfen (unpublished) und nur meine benötigten Räume etc. hinterlegt. Ich hab nämlich das Gefühl, wenn man nur die Räume, Devices,… hinterlegt, die man braucht, läuft snips besser. Aber ich werde es jetzt die kommenden Tagen mal ausführlich im Alltag testen, jetzt wo mein Rock64 ankam, auf dem ich Iobroker laufen lasse.
Gruß
Christian