FHEM und Rhasspy

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

Vorheriges Thema - Nächstes Thema

JensS

#240
@davedeluxe
Zitat von: davedeluxe am 18 Februar 2021, 10:23:22
ich habe hier mal ein Case für den Satelliten designed, vielleicht kann es ja jemand brauchen:
https://www.thingiverse.com/thing:4766696

Der Riemen ist aufgelegt und es orgelt...

Danke fürs Teilen!

@drhirn
Zitat von: drhirn am 18 Februar 2021, 07:49:23
Interaktionen sind mit dem Modul (noch) nicht möglich.
...
Vergiss Snips. Das ist Geschichte. Deswegen gibt's ja RHASSPY ;).
In der Geschichte von Snips gab es doch so eine Funktion - die manchmal sehr genervt hat.
Aktuell versuche ich eine Rückfrage anzufordern, wenn ein Gerät nicht genau zugeordnet werden kann. Wenn die Anweisung "Radio an" kommt, mehrere Radios in verschiedenen Räumen existieren aber nicht in dem Raum, von woaus gesprochen wurde. Ist ein wenig wirr - oder?

@Treibhaus
Deine Witze habe ich auf die Schnelle in einen Intent gebracht. Dazu muss die Datei unter /opt/fhem/cache/Witze_erzaehlen.txt gespeichert werden und die Rechte mit chown fhem:dialout /opt/fhem/cache/Witze_erzaehlen.txtangepasst werden.
Zu rhasspyIntents die ZeileWitze=Witze()zugügen und in sentences.ini:[de.fhem:Witze]
erzähle einen Witz
einfügen.
99_myUtils.pm:sub Witze(){
my $filename = '/opt/fhem/cache/Witze_erzaehlen.txt';
open(FH, "<", $filename) or die "Fehler beim oeffnen von $filename";
srand;
rand($.) < 1 && ($line = $_) while<FH>;
close(FH);
$line =~ m/"(.*?)"/;
$line = $1;
return $line;
}
Ist quick & dirty...

Gruß Jens

p.s. Wenn ich rausfinde, wie man speicherschonend die Zeilen zählen kann und nur eine bestimmte Zeile ausliest, ändere ich den Code hier.
p.p.s. ... ist geändert.
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

Ich war so frei und hab die "Mute" Geschichte von Jens mal in einen eigenen Intent gepackt. Ist eine neue Branch (testing) auf GitHub. Man möge bitte berichten, ob das auch bei euch funktioniert.

Treibhaus

#242
Zitat von: JensS am 18 Februar 2021, 16:42:17

@Treibhaus
Deine Witze habe ich auf die Schnelle in einen Intent gebracht. Dazu muss die Datei unter /opt/fhem/cache/Witze_erzaehlen.txt gespeichert werden und die Rechte mit



Hallo Jens,

Danke.  :D
Funktioniert auch wieder.
Die Textdatei = eine Zeile: Ein Witz    (musste geändert werden)

Gruß Jörg
Signatur:
Odroid -C2 + BSC EnOcean USB 300-TCM310 + HM485
Enocean-Taster-Fensterkontakt,-Bewegungsmelder
HM-Module über 3 Etagen + Garage/Garten
+ 1-wired Temp-Sensoren, S0-Schnittstellen + RHASSPY-Spracherkennung

JensS

@Treibhaus
Meinst du sowas?return "Ein Witz - ".$Witze_array[$Zufall];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.

Treibhaus

Hallo,

aktuell läuft mein Master auf einem Rasp3 + USB Jabra 510 wunderbar.
Wake-Word : Script: Snowboy & Snowbox.umdl
Seit ca. 1 Woche versuche ich abwechselnd den ReSpeaker_Core_v2.0  | ReSpeaker 4-Mic Array for Raspberry Pi  gleichfalls über das Rhasspy-Docker-Image zum Laufen zu bekommen.
Diese extra Treiber sind installiert. aplay / arecord funktionieren auch.   

Bei Beiden funktioniert die  Wake-Word-Erkennung gar nicht.

ReSpeaker_Core_v2.0: Funktioniert nach Neustart die Spracherkennung (bei manuellen Wake-Word Start über das Frontend - Wake Up -Funktion) .  Kann ich zig mal wiederholen - Geht.
Spricht man das Wake-Up -Word ein. (ganz dicht am Micro:  Macht der, an dem ReSpeaker_Core_v2.0, angeschlossene Lautsprecher einen riesen Beep und die Spracherkennung nur noch Mist. .... Endet mit einem manuellen Neustart.

ReSpeaker 4-Mic Array for Raspberry Pi:
Ähnliche schlechte Spracherkennung : aber sofort. Tonausgabe über Klinke3,5mm an 8 Ohm Minilautsprecher sehr leise.

Ich würde mich sehr freuen wenn mich jemand mit Ideen unterstützen könnte.


Bei dem ReSpeaker 4-Mic Array for Raspberry Pi könnte ich mir notfalls ein Lösung ohne Docker vorstellen.
Bei dem  ReSpeaker_Core_v2.0 gabe es schon Probleme mit aktueller Software mit dem Debian Image (ich glaube das Aktuellste  war von 2018)

Ansonsten werde ich zu dem Matrix-Micro-HAT wechslen oder mir Jabras510 besorgen (Letztes funktioniert tadellos)

Eigentlich sollte das Ziel Sprachrichtungserkennung sein (bei mehrere Micros) als Optimierung und eine kleinere Bauform.
 

 
Signatur:
Odroid -C2 + BSC EnOcean USB 300-TCM310 + HM485
Enocean-Taster-Fensterkontakt,-Bewegungsmelder
HM-Module über 3 Etagen + Garage/Garten
+ 1-wired Temp-Sensoren, S0-Schnittstellen + RHASSPY-Spracherkennung

Treibhaus

Zitat von: JensS am 19 Februar 2021, 20:45:13
@Treibhaus
Meinst du sowas?return "Ein Witz - ".$Witze_array[$Zufall];Gruß jens

Alles Gut.
Es funktioniert.

Das Textformat ist aktuell wie folgt und funktioniert mit deinem Script:

"Was ist braun und ist im Gefängnis? ,,, eine Knastanie , ha ha ha ha!";
"Warum lachst du? ,,,,, Warte ein bisschen. Du riechst es dann !";
"Tritt ein Mann auf einen Keks,,,, Ist nicht lustig !  Findet der Keks auch nicht !";


Gruß Jörg

PS: Das das vorhin im Code] war war ein versehen.
Signatur:
Odroid -C2 + BSC EnOcean USB 300-TCM310 + HM485
Enocean-Taster-Fensterkontakt,-Bewegungsmelder
HM-Module über 3 Etagen + Garage/Garten
+ 1-wired Temp-Sensoren, S0-Schnittstellen + RHASSPY-Spracherkennung

JensS

@Treibhaus
Der ReSpeaker_Core_v2.0 ist bei wieder vorerst in das Schubfach gewandert. Mit einem Distupgrade auf buster bekommt man ihn auf den aktuellen Stand. Mit der Installation von HermesLEDControl bekam ich die 6 Mikros zu laufen. Bei Seeedstudio gibt es keine Unterstützung für buster. Die Lautstärke kann man mit alsamixer gut einstellen.
Das 4-Mic Array würde ich nur am normalen Rpi anschließen. Wird aktuell von Seeedstudio unterstützt. Auch hier sollte alsamixer helfen.
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.

Treibhaus

Zitat von: JensS am 19 Februar 2021, 21:13:05
@Treibhaus
Der ReSpeaker_Core_v2.0 ist bei wieder vorerst in das Schubfach gewandert. Mit einem Distupgrade auf buster bekommt man ihn auf den aktuellen Stand. Mit der Installation von HermesLEDControl bekam ich die 6 Mikros zu laufen. Bei Seeedstudio gibt es keine Unterstützung für buster. Die Lautstärke kann man mit alsamixer gut einstellen.
Das 4-Mic Array würde ich nur am normalen Rpi anschließen. Wird aktuell von Seeedstudio unterstützt. Auch hier sollte alsamixer helfen.
Gruß Jens

Hallo Jens,

das 4-Mic Array ist am normalen Rpi angeschlossen.
Ich bezog mich auf 2 unterschiedliche Geräte.
Ich glaube ich mache auch vorerst mit diesem Setup weiter:
1. Schalte den Docker Container ab
2. Installiere RHASSSPY direkt. Eine andere Aufgabe soll es eh' nicht haben.

Gruß Jörg

Signatur:
Odroid -C2 + BSC EnOcean USB 300-TCM310 + HM485
Enocean-Taster-Fensterkontakt,-Bewegungsmelder
HM-Module über 3 Etagen + Garage/Garten
+ 1-wired Temp-Sensoren, S0-Schnittstellen + RHASSPY-Spracherkennung

drhirn

***NEUE VERSION***

Im GitHub gibt's eine neue Branch 0.2.0. Das ist eine neue Version des Moduls, die BetaUser auf den neueren MQTT2_CLIENT angepasst hat. MQTT2_CLIENT braucht im Vergleich zum vorher verwendeten MQTT keine zusätzlichen Perl-Libraries.

Ihr müsst dazu ein MQTT2_CLIENT Device anlegen. Ist im README dokumentiert.

Würdet ihr die bitte gut testen? Ist nicht ganz auszuschließen, dass BetaUser und ich etwas übersehen haben.

Danke!

JensS

@drhirn
Kannst du bitte die Definition Schritt für Schritt erläutern.
Habe einen MQTT2_Client angelegt:define Rhasspy_MQTTBridge MQTT2_CLIENT 192.168.100.1:1883
Das Attribut clientOrder kann ich nirgends finden.
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

Das ist meiner:
defmod rhasspyMQTT2 MQTT2_CLIENT rhasspy:12183
attr rhasspyMQTT2 clientOrder RHASSPY MQTT_GENERIC_BRIDGE MQTT2_DEVICE


Deins stimmt also. FHEM aktuell?

JensS

#251
@drhirn
Ok, Rhasspy läuft mit der Test-Version.
Allerdings funktioniert die mute-Funktion nicht. Es wird nicht das nötige mute_Reading geschrieben.   READINGS:
     2021-02-20 11:29:44   lastIntentPayload {"Value":"on","input":"Gute on","intent":"setMute","probability":1,"rawInput":"gute nacht","requestType":"voice","sessionId":"c63f1bbb-f84a-4dae-a1b7-ea88628d849b","siteId":"Boden"}
     2021-02-20 11:29:44   lastIntentTopic hermes/intent/de.fhem_setMute
     2021-02-20 11:27:12   listening_Wohnzimmer 0
     2021-02-20 08:52:47   listening_kueche 0
     2021-02-20 07:41:32   listening_schlafzimmer 0
     2021-02-20 08:05:43   listening_wohnzimmer 0
     2021-02-19 19:50:03   mute_wohnzimmer 0
Ist jetzt aber sekundär. SetMute heißt das jetzt...
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

Ist eh eines da?
Aber mir ist aufgefallen, dass sich FHEMWEB nicht mehr automatisch aktiviert. Muss man immer F5 drücken. Liegt am Modul, ich weiß aber noch nicht, warum.

drhirn

#253
Könnt ihr mal "shortcuts" testen bitte? Bei mir wird der Befehl nur noch vorgelesen. Bei euch auch?

Passiert bei euch nicht

JensS

Irgendwie wird mein ResponseOnOff($DEVICE) nicht mehr ausgeführt.
https://forum.fhem.de/index.php/topic,113180.msg1119611.html#msg1119611
Es dauert lange, bis der Befehl ausgeführt wird. Ein Response findet nicht statt.
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.