Modulentwicklung für Rhasspy Sprachassistent

Begonnen von drhirn, 11 März 2021, 15:59:50

Vorheriges Thema - Nächstes Thema

Beta-User

 ;D

Danke erst mal für die nette Rückmeldung! Ich muss hier erst wieder einiges neu aufsetzen...

"Eigentlich" sollte das ohne weiteres gehen, das ist eine der Tonnen an (un-/wenig) dokumentierten Optionen, einzustellen über die language-File, wenn ich das Bröckelchen Code richtig interpretiere:
my $isNumber = looks_like_number($value);
    # replace dot by comma if needed
    $value =~ s{\.}{\,}gx if $hash->{helper}{lng}->{commaconversion};
Gibt es den Schlüssel "commaconversion" in deinem RHASSPY-list?

Die default-de-cfg enhält ihn jedenfalls: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/RHASSPY/rhasspy-de.cfg?rev=30435#L12
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

Hallo Jörg,

die rhasspy-de.cfg enthält:
{"default":
{
  "commaconversion": "1",
...

Wo muss ich den obigen Code ergänzen - in der rhasspy-de.cfg?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Zitat von: Gisbert am 23 Oktober 2025, 13:42:19Wo muss ich den obigen Code ergänzen - in der rhasspy-de.cfg?
Der Schlüssel wird über die languagefile definiert, daher auch der Link zum (funktionierenden) Beispiel.

Bitte erst mal im list schauen, ob der nicht schon da ist, sonst muss das eben ergänzt werden und die file neu eingelesen (update language).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

#1533
ZitatGibt es den Schlüssel "commaconversion" in deinem RHASSPY-list?

Damit weiß ich nicht genau, wo ich das suchen soll?

Oder meinst du ein list des Devices? Würde ich ungern hier posten. Aber da steht es nicht drin.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Zitat von: Gisbert am 23 Oktober 2025, 17:35:12Oder meinst du ein list des Devices? Würde ich ungern hier Posten. Aber da steht es nicht drin.
Wenn es nicht im list deines RAHSSPY-Devices auftaucht, ist er nicht gesetzt, und es ist auch völlig ok, wenn du das nicht postest. Ich wollte nur mitteilen, wo du suchen mußt, auch um ggf. dann festzustellen, ob deine Änderung im language-file erfolgreich war ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

Nochmals näher im list nachgeschaut, da taucht das auf:
lng:
       commaconversion 1

Wie geht es jetzt weiter?
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Zitat von: Gisbert am 23 Oktober 2025, 17:57:26Nochmals näher im list nachgeschaut, da taucht das auf:
lng:
       commaconversion 1

Wie geht es jetzt weiter?
Hmmm, wenn es vorher nicht da war, sollte jetzt die Sprachausgabe mit "Komma" erfolgen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

Zitat von: Beta-User am 23 Oktober 2025, 17:59:12
Zitat von: Gisbert am 23 Oktober 2025, 17:57:26Nochmals näher im list nachgeschaut, da taucht das auf:
lng:
       commaconversion 1

Wie geht es jetzt weiter?
Hmmm, wenn es vorher nicht da war, sollte jetzt die Sprachausgabe mit "Komma" erfolgen...

Da hab ich mich wohl missverständlich ausgedrückt. Es war schon die ganze Zeit da, aber ich hab es erst vorhin wahrgenommen.

Die Sprachausgabe kommt nicht mit Komma, da ja noch nichts geändert wurde.

Wie könnte es jetzt weitergehen?
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Hmmm, komisch, dass sich da bisher niemand dazu gemeldet hat...

Der fragliche Reading-Wert ist aber schon ohne Einheit, oder?

(Ich kann gerade nicht testen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

Das entsprechende Reading hat keine Einheit, allerdings 2 Nachkommastellen, die ich so auf eine Nachkommastelle runde bzw. kürze:

set Pixel4a ttsMsg Das Fenster im Bad steht offen. Die Temperatur beträgt [Temp.OG:Badezimmer:d1]°Celsius.
Könnte es daran liegen? Ich probier nachher mal ohne Rundung - ich berichte dann über's Ergebnis.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Zitat von: Gisbert am 23 Oktober 2025, 18:53:35Das entsprechende Reading hat keine Einheit, allerdings 2 Nachkommastellen, die ich so auf eine Nachkommastelle runde bzw. kürze:

set Pixel4a ttsMsg Das Fenster im Bad steht offen. Die Temperatur beträgt [Temp.OG:Badezimmer:d1]°Celsius.
Könnte es daran liegen? Ich probier nachher mal ohne Rundung - ich berichte dann über's Ergebnis.
Ist das RHASSPY, das die Ausgabe generiert?
ttsMsg klingt eher nach AMAD oä..
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

Du hast recht, das ist AMAD. Warum ich das nutze anstatt Rhasspy kann ich nicht mehr sagen.
Wie sieht denn eine Sprachnachricht analog zu der in AMAD in Rhasspy aus, und wie kann ich das umsetzen?
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Hmmm, gute Frage...

RHASSPY kennt zwar auch sowas wie eine direkte Sprachausgabe, aber da ist das Problem auch nicht anders: man muss die Zahlen erkennen und dann den Punkt umwandeln.

Bei normalen Antworten auf Fragen passiert das innerhalb RHASSPY im Code vor dem Einbau der Variablen in den Satz...

Im Moment habe ich keine schnelle Idee, abgesehen vom Vorschlag, dazu eine myUtils-Routine zu basteln, die z.B. Rundung und Komma-Setzung übernimmt...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

#1543
Ich hab versucht eine sub zu definieren:
sub point2komma($$) {
  my ($dev,$read) = @_; # device and reading to be used
  my $val = round(ReadingsNum($dev,$read,''),1);
    $val =~ s/./,/g;
    return $val;
}

Wenn ich die sub mit folgenden Parametern aufrufe:
point2komma("Temp.EG","WZ")bekomme ich statt der erhofften Lösung (bspw. 21,3) nur merkwürdige vier Kommazeichen, also ,,,,

Wie müsste die sub aussehen, dass ich mein Ziel erreiche?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Beta-User

Den Punkt wie in meinem Code schützen?

PS:
Prototypen....
Ausbauen mit Rundungsoptionen?
Bei .0 die Ganzzahl ausgeben?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors