NEWS
[Aufruf] Adapter: Snips - Offline Speak2Text
-
Was ich mir vorstellen kann, dass es damit zu tun haben könnte, dass die Datenpunkte zu unterschiedlichen Zeiten befüllt werden.
Wärend vielleicht der Triggerpunkt schon "feuert", sind in den anderen Punkten die Daten noch nicht aktualisiert.Habe zwar noch nicht Snips ausprobiert, aber ich hatte ein ähnliches Problem mit dem Alexa2-Adapter.
Man muss dann schauen, welchen Datenpunkt man wann ausliest bzw. verwendet.Hi @Arnulf
das ist ein guter Ansatz. Das Problem bestand bis zur Version 1.1.0 in der Tat und sollte jetzt behoben sein. Mittlerweile wird direkt mit Snips mittels der Session-IDs von Snips kommuniziert.@Arnulf sagte in [Aufruf] Adapter: Snips - Offline Speak2Text:
Was ich mir vorstellen kann, dass es damit zu tun haben könnte, dass die Datenpunkte zu unterschiedlichen Zeiten befüllt werden.
-
Hallo,
zu allererst danke für die Idee und die Umsetzung des Projekts.
Habe iobroker und snips am laufen. Läuft alles super mit den Slots usw.
Nun komme ich nicht weiter, bzw verstehe das weitere vorgehen nicht.
Soll nun die Snips iobroker app dazu dienen alle Geräte automatisch zu suchen und diese zu steuern, oder muss ich mit javascript, node-red oder t2c die einzelnen Skipte erstellen?
Zum Beispiel: Wenn slotDevice und slotCommand das und das drin steht, dann tue dies.
Wo muss ich nun ansetzen um weiterzukommen, kann mir jemand einen Denkanstoss in die richtige Richtung geben?
Vielen Dank für die Arbeit die bisher hier investiert wurde.
Gruß
Xulkar
Hi @xulkar
@xulkar sagte in [Aufruf] Adapter: Snips - Offline Speak2Text:
Soll nun die Snips iobroker app dazu dienen alle Geräte automatisch zu suchen und diese zu steuern, oder muss ich mit javascript, node-red oder t2c die einzelnen Skipte erstellen?
Zum Beispiel: Wenn slotDevice und slotCommand das und das drin steht, dann tue dies.Das ist ntürlich auch möglich, sollte aber über text2command geregelt werden.
-
Guten Morgen unltdnetworx,
zu meiner Konfiguration:
im Moment habe ich 2 Raspberries mit 2 Snips Master + 2 snips-Iobroker Adapter.
In Javascripten trigger ich auf die Iobroker Instanz um zb. "Licht ein", "Radio an" ohne Raumbezeichnung schalten zu können.
Den Text werte ich mit
string.indexOf('Licht')>=0 && (string.indexOf('ein') || string.indexOf('an'))
aus, da es bisher mit dem Text2Comman Adapter mit einem Master/Slave snips nicht funktioniert hat.Zum Antworten an snips:
Ob in JS oder Text2Command ist mir mittlerweile egal, wobei ich glaube, dass t2c einfacher wäre. (wenn es auf eine snips-instanz triggern könnte und das "Antwort-Gerät" im t2c nicht immer verschwindet)
Wer den Dialog auslöst ist eine gute Frage, da ich das Meiste über JS steuere, vielleicht wäre es über einen Snips-"Zeit"-Datenpunkt möglich, dass snips diese Zeitspanne auf eine Antwort wartet. Wenn der Datenpunkt aktualisiert wird, wartet Snips die in dem Datenpunkt hinterlegte Zeit auf eine Spracheingabe.
snips: "Es steht jemand vor der Türe, soll ich öffnen?"
snips-Datenpunkt: 2 (Sek)
user: "ja" || "sei so lieb"snips: "Es wird im Wohnzimmer sehr warm, soll ich die Klimaanlage aktivieren?"
snips-Datenpunkt: 4 (Sek)
user: "nein danke" || "Kühle auf 22°"Keine Ahnung ob das Machbar ist, vielleicht geht's auch anders.
@rascal sagte in [Aufruf] Adapter: Snips - Offline Speak2Text:
snips: "Es steht jemand vor der Türe, soll ich öffnen?"
snips-Datenpunkt: 2 (Sek)
user: "ja" || "sei so lieb"
snips: "Es wird im Wohnzimmer sehr warm, soll ich die Klimaanlage aktivieren?"
snips-Datenpunkt: 4 (Sek)
user: "nein danke" || "Kühle auf 22°"An einer Möglichkeit eines Dialoges zwischen Snips und dem Adapter bin ich momentan dran. Also etwa "Wie ist der Status der Garage?" - "Die Garage ist offen. Soll ich das Tor schließen?" - "Ja, bitte" - "Tor wird geschlossen".
Ich habe auch eine Möglichkeit gefunden, aber habe nur noch keine Idee, wie man die Eingabe in ioBroker komfortabel lösen kann. Etwa mittels Blockly. -
Hallo,
könntest du bitte bei den Räumen den "Dachbodenraum" hinzufügen (du hast Dachboden, wir sagen aber zu unserem "Gemeindschaftsraum" nicht Dachboden
) -
Danke für die Infos und fürs weiterhelfen. Komme nun voran.
Erstelle im iobroker nun die enums Funktionen und Räume gemäß deiner snips app und füge diese meinen ganzen Geräten hinzu. Hoffe ist richtig?
Hätte nun Räume zum hinzufügen die bei mir existieren:
Garderrobe -> kleiderzimmer klamottenzimmer anziehzimmer wäschezimmer
Fernsehzimer -> tvzimmerWas macht man mit Räumen die min zwei mal vorhanden sind wie zum Beispiel:
Flur kellergeschoss, Flur erdgeschoss, Flur obergeschoss. das gleiche nochmal mit bad?
Bei den funktionen werde ich am wochenende nochmal schauen was noch fehlt, da fällt mir bestimmt noch ein wenig ein

-
-
Hinzugefügt:
- Garderobe mit Alternativen: Ankleidezimmer,Kleiderzimmer,Klamottenzimmer,Anziehzimmer,Wäschezimmer
- Licht mit Alternative: indirekte Beleuchtung
-
Danke,
da habe ich gleich eine neue Frage:
Funktioniert im t2c Adapter "Schalte an oder aus mit Funktion"?
Ich habe jetzt das Problem, dass er mir dies meldet:

Im Iobroker ist der Küchenschalter so dargestellt:

auf was muss ich da Acht geben?
@rascal sagte in [Aufruf] Adapter: Snips - Offline Speak2Text:
Im Iobroker ist der Küchenschalter so dargestellt:
Die Rolle muss gem. Anleitung von text2command für Licht eine der folgenden sein: (bei dir Button)
- level.dimmer
- switch.light
-
Danke für die Infos und fürs weiterhelfen. Komme nun voran.
Erstelle im iobroker nun die enums Funktionen und Räume gemäß deiner snips app und füge diese meinen ganzen Geräten hinzu. Hoffe ist richtig?
Hätte nun Räume zum hinzufügen die bei mir existieren:
Garderrobe -> kleiderzimmer klamottenzimmer anziehzimmer wäschezimmer
Fernsehzimer -> tvzimmerWas macht man mit Räumen die min zwei mal vorhanden sind wie zum Beispiel:
Flur kellergeschoss, Flur erdgeschoss, Flur obergeschoss. das gleiche nochmal mit bad?
Bei den funktionen werde ich am wochenende nochmal schauen was noch fehlt, da fällt mir bestimmt noch ein wenig ein

@xulkar sagte in [Aufruf] Adapter: Snips - Offline Speak2Text:
Flur kellergeschoss, Flur erdgeschoss, Flur obergeschoss. das gleiche nochmal mit bad?
Sollte eigentlich einfach so gesprochen und erkannt werden können.
-
Guten Morgen zusammen,
Ich habe folgendes Problem:
Trotz das Snips als Room "Flur" ausgibt, es im ioBroker auch als "Flur" ankommt, versteht T2C aus irgend einem Grund "Schlafzimmer".... warum auch immer.Des Weiteren weiteren kommt es hin und wieder vor, das er zwar meinen Befehl, licht aus zu schalten erkennt und auch im T2C so anzeigt, aber es einfach nicht macht.
Durch lesen der 430 beitrage hier, habe ich das gute stück zumindest zum laufen und kommunizieren bekommen (zwar noch ohne gesprochenes feedback seitens Snips. Aber das sollte doch ich gehen oder?), aber dieser verdrehten Ergebnisse verstehe ich nicht.

@Lightmann
Der Fehler liegt an den falschen Parametern in text2command. Es müssen alle Wörter vorkommen, in der Zeile stehen um den Befehl auszulösen. Alternativ kann nur ein Wort von mehreren durch / getrennte Worte vorkommen.Du hast geschrieben
Flur/ an/ trueEs muss aber
Flur an/trueheißen. Nur um das Beispiel zu erklären. Eigentlich kannst du an und aus auch weglassen, da es ohnehin mit true und false ersetzt wird. Schadet aber auch nicht.
-
@unltdnetworx
Danke für deine Hilfe, ich komme aber nicht dahinter
Ich habe jetzt einen Aktor einem Gewerk "light" und einem Raum "Dachboden" zugewiesen

Ich habe Groß- und Kleinschreibung versucht. Er sagt mir
text2command.0 2019-03-14 19:08:13.136 info Response: Man muss sagen in welchem Raum oder überallIst der State unter 3 nicht ein switch.light, so wie du geschrieben hast?!?
Irgendwie stehe ich mit t2c auf Kriegsfuß -
Noch eine Frage: wie kommt die "Snips-ID", welche du in den Adapter übernimmst, zustande? Kommt sie vom Snips Assistenten, der Hardware oder vom iobroker-Adapter?
Ich frage, falls ich mit Javascript statt mit t2c würde ich die ID gerne übernehmen.ERLEDIGT: im getState().from wird der Adapter geliefert, unter dem der DP steht.
-
Hallo zusammen,
Ich hätte auch noch ein paar „Devices“ die man evtl. noch mit aufnehmen könnte.-Lamelle, Lamellen
-Deckenlampe,Deckenlicht,Decke,
Deckenleuchte
-Fernseher, TV, GlotzeDanke.
Hat jemand Jalousien die er über snips ansteuert? Wie sprecht ihr die Lamelle an?
Gibt es die Möglichkeit 2 Werte zu übergeben, z.B. Fahre Jalousie(oder Rollo) auf 50% und die Lamelle auf 20%.
Könnte man in T2C noch eine Jalousie Funktion gleich der Rollo-Funktion + (Winkel-)Position der Lamelle integrieren ?Danke
-
@unltdnetworx
Danke für deine Hilfe, ich komme aber nicht dahinter
Ich habe jetzt einen Aktor einem Gewerk "light" und einem Raum "Dachboden" zugewiesen

Ich habe Groß- und Kleinschreibung versucht. Er sagt mir
text2command.0 2019-03-14 19:08:13.136 info Response: Man muss sagen in welchem Raum oder überallIst der State unter 3 nicht ein switch.light, so wie du geschrieben hast?!?
Irgendwie stehe ich mit t2c auf Kriegsfuß@rascal
Das Gewerk gibt es bereits fertig und heißt Licht. Nicht Light oder irgendwas eigenes. Ob Dachboden klappt, kann ich nicht sicher sagen, steht aber in der Anleitung zu t2c.Außerdem steht bei deinem Gerät unter Role drin state. Da muss aber eine der oben erwähnten Rollen hin, falls es Licht oder Rollo ist. Also vermutlich switch.light bei dir.
-
@unltdnetworx
Danke für deine Hilfe, ich komme aber nicht dahinter
Ich habe jetzt einen Aktor einem Gewerk "light" und einem Raum "Dachboden" zugewiesen

Ich habe Groß- und Kleinschreibung versucht. Er sagt mir
text2command.0 2019-03-14 19:08:13.136 info Response: Man muss sagen in welchem Raum oder überallIst der State unter 3 nicht ein switch.light, so wie du geschrieben hast?!?
Irgendwie stehe ich mit t2c auf Kriegsfuß@rascal said in [Aufruf] Adapter: Snips - Offline Speak2Text:
@unltdnetworx
Danke für deine Hilfe, ich komme aber nicht dahinter
Ich habe jetzt einen Aktor einem Gewerk "light" und einem Raum "Dachboden" zugewiesen

Ich habe Groß- und Kleinschreibung versucht. Er sagt mir
text2command.0 2019-03-14 19:08:13.136 info Response: Man muss sagen in welchem Raum oder überallIst der State unter 3 nicht ein switch.light, so wie du geschrieben hast?!?
Irgendwie stehe ich mit t2c auf KriegsfußDas mit dem Kriegsfuß versteh ich
... was ich so mitbekommen habe funktioniert "schalten mit Funktion" nur mit Rooms und Functions welche in der "room.js" & "functions.js" von T2C definiert sind.z.B.: rooms.js
const rooms = { "everywhere": {"ru" : "везде/весь/все/всё", "de": "alle/überall", "en": "everywhere" }, "livingroom/wohnzimmer/зал": {"ru" : "зал", "de": "wohnzimmer", "en": "living" }, "bedroom/sleepingroom/schlafzimmer/спальня":{"ru" : "спальн", "de": "schlafzimmer", "en": "bedroom" }, "bathroom/bath/badezimmer/bad/ванная": {"ru" : "ванн", "de": "bad", "en": "bath" }, "office/arbeitszimmer/кабинет": {"ru" : "кабинет", "de": "arbeitszimmer/kabinet/büro","en": "working/office" }, "nursery/kinderzimmer/детская": {"ru" : "детск", "de": "kinder", "en": "kids/child/nursery" }, "guestwc/gästewc/гостевойтуалет": {"ru" : "гостевой туалет/гостевом туалет", "de": "gästewc", "en": "guets wc/guest closet" }, "wc/туалет": {"ru" : "туалет", "de": "wc", "en": "wc/closet" }, "antroom/vorraum/коридор/прихожая": {"ru" : "прихож/вход/коридор", "de": "vorzimmer/vorraum", "en": "antroom" }, "floor/diele/gang/flur/коридор/прихожая": {"ru" : "прихож/вход/коридор", "de": "diele/eingang/flur", "en": "floor/enter" }, "kitchen/küche/kueche/кухня": {"ru" : "кухня/кухне", "de": "küche", "en": "kitchen" }, "terrace/balkon/terrasse/терасса/балкон": {"ru" : "балкон/терасс", "de": "balkon/terrasse", "en": "balcony/terrace/patio" }, "dinningroom/esszimmer/столовая": {"ru" : "столовая", "de": "esszimmer", "en": "dinning" }, "garage/garage/гараж": {"ru" : "гараж", "de": "garage", "en": "garage" }, "stairs/treppe/treppenhaus/лестница": {"ru" : "лестниц", "de": "treppe", "en": "stair" }, "summerhouse/gartenhaus/теплица": {"ru" : "теплиц", "de": "gartenhaus", "en": "summer" }, "garden/garten/сад": {"ru" : "сад", "de": "garten", "en": "garden" }, "glasshouse/glashaus/двор": {"ru" : "двор", "de": "glashaus", "en": "court/yard" }, "court/hof/двор": {"ru" : "двор", "de": "hof", "en": "court/yard" }, "guestroom/gästezimmer/гостевая": {"ru" : "гостев", "de": "gästezimmer/gast", "en": "guest room" }, "attic/speicher/кладовка": {"ru" : "кладовк", "de": "speicher", "en": "attic" }, "roof/dachstuhl/крыша": {"ru" : "крыше/крыша", "de": "dachstuhl", "en": "roof" }, "terminal/anschlussraum/сени": {"ru" : "сени/сенях", "de": "anschlussraum", "en": "terminal" }, "washroom/waschraum/прачечная": {"ru" : "прачечн", "de": "waschraum", "en": "wash room" }, "heatroom/heatingroom/heizungsraum/котельная": {"ru" : "котельн", "de": "heizungsraum", "en": "heat room/heating room" }, "hovel/schuppen/scheune/сарай": {"ru" : "сарай/сарае", "de": "schuppen/scheune", "en": "hovel" } };wobei die erste Spalte die ID der Raumaufzählung ist und die dritte das dazugehörige Hotword ... also "Dachboden" kann er nicht finden, roof/Dachstuhl sollte funktionieren. Auch hat T2C ein wenig Probleme beim vergleichen der Strings bei gleichen Wortteilen z.B.: Garten/Gartenhaus ... einmal gibts ein Gartenhaus, dann wieder nicht
