FHEM und Rhasspy

Begonnen von drhirn, 28 Juli 2020, 14:28:50

Vorheriges Thema - Nächstes Thema

Thargor

Zitat von: drhirn am 26 Februar 2021, 13:18:18
Welches Gerät - mit welcher siteId - nimmt denn die Sprache entgegen? Dort, wo du reinredest, wird auch die Ausgabe stattfinden. Wenn nicht, könnte es daran liegen, dass Rhasspy noch nicht fertig konfiguriert ist. Die siteIds der Satelliten müssen in der Base in den diversen Settings eingetragen werden.

Der Intent kommt in rhasspy mit der korrekten siteid an:   

ZitatlastIntentPayload: {"Room":"Wohnzimmer","Unit":"sekunden","Value":10,"input":"stelle taimer im Wohnzimmer auf 10 sekunden","intent":"SetTimer","probability":1,"rawInput":"stelle taimer im wohnzimmer auf zehn sekunden","requestType":"voice","sessionId":"satellite-snowboy-22ab9da9-64c7-4014-ae30-3e6daecf64d0","siteId":"satellite"}

Aber das AT wird mit der falschen SiteID angelegt ...

drhirn

Ah, du stellst einen Timer für das Wohnzimmer. Ja, das ist derzeit noch ein Problem. Wurde hier im Thread von Cordula schon angesprochen. Da bin ich dran.

JensS

@drhirn
Shortcuts nutze ich z.B. zur Steuerung von Geräten, deren Status nicht festlegbar ist.Ton wechseln={TVCodes("E0E0F00F");;return "ok"}In dem Fall ein toggle per IR-send.
Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

laberlaib

Zitat von: JensS am 29 Januar 2021, 18:19:33
Hallo davedeluxe,

zum Vergleich habe ich die Konfigurationen meiner Basis und eines Satelliten angehangen. Vielleicht hilft dir's weiter.

Gruß Jens

Ich will jetzt auch auf ein Master-Satellite-System umsteigen.
Als Satellite habe ich hier ein Pi-Zeros und ReSpeaker2-Hat.

Aus der offiziellen Rhasspy-Anleitung werde ich nicht schlau, daher: Was muss ich da jetzt installieren? Einfach alles und dann gemäß dem Anhang konfigurieren?
Oder kann man ressourcensparender (aber trotzdem einfach) installieren?
Auf einem Zero würde das bedeuten, ich installiere alles auf einem RPi3 da das sonst eewig dauert (Kerneldowngrade!) und schieb die SD-Karte dann in den Zero.
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

JensS

@laberlaib
Zero guckst du hier:https://login.owncube.cloud/index.php/s/pdaweKnikZy4NAW
Ist zwar ein paar Tage alt, sollte aber laufen (Zero + Buster + Rhasspy-2.5.8 ).
root:raspberry
Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

laberlaib

Danke, das vereinfacht und beschleunigt die Einrichtung natürlich deutlich.
Runtergeladen.
Aber was läuft da nun genau? Sind da ReSpeaker2-Treiber schon drauf? Ist das die Docker Version?

Und auch nochmal zum Verständis: Was müsste ich nun machen, um das selber zu installieren?
(Jetzt erstmal einen Master auf Proxmox an den Start bringen. Da läuft schon ewig ein Snips drauf, nur zur Sprachausgabe)
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

JensS

@laberlaib
Das Image hat den Treiber und die LED-Ansteuerung drauf sowie eine Rhasspy-Installation ohne Docker.
Zur allg. Installation gibt's reichlich Quellen:
https://forum.fhem.de/index.php/topic,113180.0.html
https://rhasspy.readthedocs.io/en/latest/installation/
Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

laberlaib

#292
Danke.
Allgemeine Installation ist kein Problem, das ganze läuft ja bei mir schon. Ich hatte nur im Hinterkopf, dass es mal eine spezielle, abgespeckte Intallation für Satelliten gab.
Aber das scheint ja nicht (mehr?) der Fall zu sein - einfach alles immer druff und dann halt nicht einschalten.

Ich hab jetzt mal meine alte komplettinstallation als Satellite konfigurier und einen Master auf Proxmox installiert. Da ich das alte Rhasspy- und MQTT2-Device in FHEM nicht löschen wollte, erst einmal parallel - da hat mich dann das clientOrder-Attribute geärgert.
Jetzt gehts aber und ich mach mich mal ans Verbinden der Systeme...

Edit: Ich glaube, ich hol mir mal Wiki-Schreibrechte...
Wie viele kleine Dummheiten ich gemacht habe und dafür Zeit verloren habe...
1) Installation auf dem Rasp: Neustart nach update & upgrade vergessen => docker Installation gescheitert.
2) Auf Proxmox erst mit einem Ubuntu 18 ISO versucht => veraltete Lib
3) Das o.g. clientOrder-Attribute welches global gilt
4) Satellite an Master: der MQTT-Server läuft nicht auf 1883 sondern auf 12183

Aber jetzt einfach mal einen Spanischen Master erstellen und rumspielen...
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

JensS

@drhirn
Ist die 0.2.0 oder die testing aktuell stable? Kann man's im Produktiv-System testen?
Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

drhirn

Stable sind's beide noch nicht. Am ehesten aber die 0.2.0.

drhirn

Zitat von: laberlaib am 27 Februar 2021, 16:59:43
Auf einem Zero würde das bedeuten, ich installiere alles auf einem RPi3 da das sonst eewig dauert (Kerneldowngrade!) und schieb die SD-Karte dann in den Zero.

Nimm das für die ReSpeaker Installation: https://github.com/HinTak/seeed-voicecard
Da brauchst kein Kernel-Downgrade

laberlaib

#296
€: Problem gelöst: Ein Rhasspy-Device muss wohl RHASSPY heißen, s.u.

Also das mit den Satelliten ist ja schon genial: ich änder einfach den MQTT-Server auf den anderen Rhasspy-Master und zack, Sprache umgestellt.
Ob man einen Satelliten auch auf zwei Master je Wakeword umbiegen kann muss ich mal schauen - aber das hta Zeit, die Hardwareramschkiste reicht für n Haufen Satelliten.
ABER
@drhirn: Ich habe ein Problem mit der Benachrichtigung.
Ich nutze 0.2 und habe also 2 MQTT2_DEVICES, eins zu jedem Server.
Beide verbinden, das seh ich auf dem Rhasspyserver
Via Verbose 5 kommt auch im Logfile die Kommunikation an.
Aber es wird nichts ausgelöst - der Intent wird von Rhasspy erkannt und weitergegeben. Aber im Rhasspydevice kommt nichts an.

MQTT2_DEVICES:
entweder mit De oder Es
Zitatdefmod RhasspyMasterEsMQTT2 MQTT2_CLIENT 192.168.2.106:12183
attr RhasspyMasterEsMQTT2 clientOrder RHASSPYMASTERDE RHASSPYMASTERES MQTT_GENERIC_BRIDGE MQTT2_DEVICE
attr RhasspyMasterEsMQTT2 room Rhasspy

RHASSPY: (entweder mit DE oder ES)
Zitatdefmod RHASSPYMASTERDE RHASSPY RhasspyMasterDeMQTT2 Wohnzimmer
attr RHASSPYMASTERDE IODev RhasspyMasterDeMQTT2
attr RHASSPYMASTERDE rhasspyMaster http://192.168.2.104:12101
attr RHASSPYMASTERDE room Rhasspy
attr RHASSPYMASTERDE webCmd trainRhasspy:updateSlots

Training funktioniert, wbei ich den spanischen von Hand anpasse. Insbesondere die Values müssen ja auf "an" und "aus" gemappt werden.

Ich bilde mir ein, dass es funktioniert hatte, als ich noch einen Master mit dem Namen RHASSPY hatte...
(Jetzt beim schreiben glaube ich auch gelesen zu haben, dass der Name noch nicht anders sein darf)
€: den Deutschen in RHASSPY umbenannt und es klappt sogar mit beiden - also der Spanier darf weiterhin RHASSPYMASTERES heißen.

€: Keiner in der Kirche und alle hier am Tippen? Danke für den Tipp mit dem Treiber.
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

JensS

#297
Zitat von: laberlaib am 28 Februar 2021, 11:39:33
€: Keiner in der Kirche und alle hier am Tippen?
Kirche 2.x ist heutzutage online.   ;)

@drhirn: Hab die gestrige Version von Beta-User installiert. Läuft alles - bis auf die Shortcuts natürlich. "Ton wechseln" wird nicht ausgeführt. Angeblich erhalte ich eine Fehlermeldung über die Sprachausgabe. Das findet nicht statt.2021.02.28 11:43:22 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/dialogueManager/sessionStarted => {"sessionId": "Wohnzimmer-alexa-0675bbe1-92b6-43a7-b15f-8e048f481bd3", "siteId": "Wohnzimmer", "customData": "alexa", "lang": null}
2021.02.28 11:43:22 5: Parsed value: Wohnzimmer-alexa-0675bbe1-92b6-43a7-b15f-8e048f481bd3 for key: sessionId
2021.02.28 11:43:22 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 11:43:24 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/intent/de.fhem_Shortcuts => {"input": "Ton wechseln", "intent": {"intentName": "de.fhem:Shortcuts", "confidenceScore": 1.0}, "siteId": "Wohnzimmer", "id": null, "slots": [], "sessionId": "Wohnzimmer-alexa-0675bbe1-92b6-43a7-b15f-8e048f481bd3", "customData": null, "asrTokens": [[{"value": "Ton", "confidence": 1.0, "rangeStart": 0, "rangeEnd": 3, "time": null}, {"value": "wechseln", "confidence": 1.0, "rangeStart": 4, "rangeEnd": 12, "time": null}]], "asrConfidence": null, "rawInput": "ton wechseln", "wakewordId": "alexa", "lang": null}
2021.02.28 11:43:24 5: Parsed value: 1 for key: probability
2021.02.28 11:43:24 5: Parsed value: Wohnzimmer-alexa-0675bbe1-92b6-43a7-b15f-8e048f481bd3 for key: sessionId
2021.02.28 11:43:24 5: Parsed value: ton wechseln for key: rawInput
2021.02.28 11:43:24 5: Parsed value: Ton wechseln for key: input
2021.02.28 11:43:24 5: Parsed value: Shortcuts for key: intent
2021.02.28 11:43:24 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 11:43:24 5: handleIntentShortcuts called with Ton wechseln key
2021.02.28 11:43:24 5: cmd selected: Ich habe dich nicht verstanden
2021.02.28 11:43:52 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/dialogueManager/sessionEnded => {"termination": {"reason": "timeout"}, "sessionId": "Wohnzimmer-alexa-0675bbe1-92b6-43a7-b15f-8e048f481bd3", "siteId": "Wohnzimmer", "customData": "alexa"}
2021.02.28 11:43:52 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 11:43:52 5: Parsed value: Wohnzimmer-alexa-0675bbe1-92b6-43a7-b15f-8e048f481bd3 for key: sessionId
Gruß Jens

p.s. Aleaxa versteht mich nicht mehr.
SetMute - Reading wird nicht gesetzt und ich erhalte "Ich habe dich nicht verstanden."
Der Fehler saß mal wieder vorm Bildschirm. Hatte in sentences.ini "VALUE" statt "Value" geschrieben...2021.02.28 12:07:27 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/dialogueManager/sessionStarted => {"sessionId": "Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc", "siteId": "Wohnzimmer", "customData": "alexa", "lang": null}
2021.02.28 12:07:27 5: Parsed value: Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc for key: sessionId
2021.02.28 12:07:27 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 12:07:30 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/intent/de.fhem_SetMute => {"input": "Gute on", "intent": {"intentName": "de.fhem:SetMute", "confidenceScore": 1.0}, "siteId": "Wohnzimmer", "id": null, "slots": [{"entity": "VALUE", "value": {"kind": "Unknown", "value": "on"}, "slotName": "VALUE", "rawValue": "nacht", "confidence": 1.0, "range": {"start": 5, "end": 7, "rawStart": 5, "rawEnd": 10}}], "sessionId": "Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc", "customData": null, "asrTokens": [[{"value": "Gute", "confidence": 1.0, "rangeStart": 0, "rangeEnd": 4, "time": null}, {"value": "on", "confidence": 1.0, "rangeStart": 5, "rangeEnd": 7, "time": null}]], "asrConfidence": null, "rawInput": "gute nacht", "wakewordId": "alexa", "lang": null}
2021.02.28 12:07:30 5: Parsed value: 1 for key: probability
2021.02.28 12:07:30 5: Parsed value: Gute on for key: input
2021.02.28 12:07:30 5: Parsed value: SetMute for key: intent
2021.02.28 12:07:30 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 12:07:30 5: Parsed value: Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc for key: sessionId
2021.02.28 12:07:30 5: Parsed value: gute nacht for key: rawInput
2021.02.28 12:07:30 5: Parsed value: on for key: VALUE
2021.02.28 12:07:30 5: cmd selected: Ich habe dich nicht verstanden
2021.02.28 12:07:30 5: handleIntentSetMute called
2021.02.28 12:07:30 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/dialogueManager/endSession => {"sessionId":"Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc","siteId":"Wohnzimmer","text":"Ich habe dich nicht verstanden"}
2021.02.28 12:07:30 5: Parsed value: Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc for key: sessionId
2021.02.28 12:07:30 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 12:07:32 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/dialogueManager/sessionEnded => {"termination": {"reason": "nominal"}, "sessionId": "Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc", "siteId": "Wohnzimmer", "customData": "alexa"}
2021.02.28 12:07:32 5: Parsed value: Wohnzimmer for key: siteId
2021.02.28 12:07:32 5: Parsed value: Wohnzimmer-alexa-3434978d-b496-42e5-8bd6-e8444a6bdddc for key: sessionId


@Beta-User:
Hab noch ein wenig probiert...Internals:
   DEF        Rhasspy_MQTT Wohnzimmer
   FUUID      5f959ded-f33f-9d8f-5523-cd4ee245ab39f7f6
   IODev      rhasspyMQTT2
   LASTInputDev rhasspyMQTT2
   MODULE_VERSION 0.2
   MSGCNT     123
   NAME       Rhasspy
   NOTIFYDEV  Rhasspy_MQTT Wohnzimmer
   NR         311
   STATE      hermes/intent/de.fhem_GetTime
   TYPE       RHASSPY
   rhasspyMQTT2_MSGCNT 123
   rhasspyMQTT2_TIME 2021-02-28 12:21:20
   OLDREADINGS:
   READINGS:
     2021-02-28 12:21:17   lastIntentPayload {"input":"Ton wechseln","intent":"Shortcuts","probability":1,"rawInput":"ton wechseln","requestType":"voice","sessionId":"Wohnzimmer-alexa-514cac6c-e2bf-4682-9934-29658e094b98","siteId":"Wohnzimmer"}
     2021-02-28 12:21:17   lastIntentTopic hermes/intent/de.fhem_Shortcuts
     2021-02-28 12:21:20   listening_Wohnzimmer 0
     2021-02-28 12:21:17   responseType    voice
     2021-02-28 12:02:31   siteIds         Boden,Schlafzimmer,Wohnzimmer,Küche,handy
     2021-02-28 11:30:54   test            Zamioculcas zamiifolia, selten gebrauchte Trivialnamen sind Glücksfeder, Kartonpapier-Palme, ,,die Zz-Pflanze" oder irreführend ,,Zamie", ist die einzige Art der monotypischen Pflanzengattung Zamioculcas, die zur Familie der Aronstabgewächse (Araceae) gehört. Sie gilt als pflegeleichte Zimmerpflanze.
     2021-02-28 12:03:02   training        Training completed in 6.16 second(s)
     2021-02-28 11:32:55   updateSlots     OK
     2021-02-28 12:21:17   voiceResponse   Ich habe dich nicht verstanden
   helper:
     defaultRoom Wohnzimmer
     Shortcuts:
     shortcuts:
       Ton wechseln:
         NAME       Rhasspy
         perl       '{TVCodes("E0E0F00F")}'

Sprachmeldung kommt - Ton wechselt nicht.
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.


JensS

#299
@Beta-Useri="Ton wechseln" p={TVCodes("E0E0F00F")} n="Rhasspy" r="Ton ist gewechselt"
Funktioniert - Ton wird gewechselt. Ein Device ist für den Fernseher nicht definiert, da dieser keine Rückgabe über seinen aktuellen Status geben kann. Daher hatte ich es ohne und nit "n" versucht. Allerdings erhalte ich kein Response.

p.s.
i="Ton wechseln" p={TVCodes("E0E0F00F"); return "ok"}
funktioniert
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.