Autor Thema: [Rhasspy] rhasspySpecials - confirm ignoriert $Value  (Gelesen 893 mal)

Offline drhirn

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2002
[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« am: 17 November 2022, 17:22:52 »
Hi,

habe gerade zum ersten Mal heuer die Heizung eingeschalten und dabei ist mir aufgefallen, dass RHASSPY zwar brav nachfragt, ob es wirklich soll. In der Frage aber leider die Anzahl Grad vergisst:
RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/tts/say => {"text": "Soll heizung wirklich auf  Grad gestellt werden?", "siteId": "wohnzimmer.pc", "lang": null, "id": "dc655243-01ee-46d0-a0b7-aa59c469a673", "sessionId": "wohnzimmer.pc-porcupine_raspberry-pi-518d1ab0-119d-4af7-bde3-fe518b1c4a51", "volume": null}
Definiert ist das ganze so:
attr hmThermostatWz_Climate rhasspyMapping SetNumeric:step=0.5,cmd=desired-temp,type=desired-temp,maxVal=23,minVal=10,currentVal=desired-temp\
SetOnOff:cmdOn=desired-temp 22.5,cmdOff=desired-temp off\
attr hmThermostatWz_Climate rhasspySpecials confirm: SetNumeric="Soll $target wirklich auf $Value Grad gestellt werden?" SetOnOff="Soll ich die $target wirklich $Value schalten?"

Und die Kommunikation davor sieht so aus:
2022.11.17 17:14:59 5: Response is: Soll heizung wirklich auf  Grad gestellt werden?
2022.11.17 17:14:59 5: [Rhasspy] setting  Timer: Rhasspy_wohnzimmer.pc-porcupine_raspberry-pi-518d1ab0-119d-4af7-bde3-fe518b1c4a51 2022-11-17 17:15:19
2022.11.17 17:14:59 5: [Rhasspy] getNeedsConfirmation is true on device level, response is Soll heizung wirklich auf  Grad gestellt werden?
2022.11.17 17:14:59 5: [Rhasspy] getNeedsConfirmation called, regex is hmThermostatWz_Climate
2022.11.17 17:14:59 5: Device selected (by hash, with room and name): hmThermostatWz_Climate
2022.11.17 17:14:59 5: room is identified using siteId as wohnzimmer
2022.11.17 17:14:59 5: handleIntentSetNumeric called
2022.11.17 17:14:59 5: Parsed value: grad for key: Unit
2022.11.17 17:14:59 5: Parsed value: stelle die heizung bitte auf einundzwanzig grad for key: rawInput
2022.11.17 17:14:59 5: Parsed value: porcupine_raspberry-pi for key: customData
2022.11.17 17:14:59 5: Parsed value: stelle die heizung bitte auf 21 grad for key: input
2022.11.17 17:14:59 5: Parsed value: 1 for key: confidence
2022.11.17 17:14:59 5: Parsed value: 21 for key: Value
2022.11.17 17:14:59 5: Parsed value: SetNumeric for key: intent
2022.11.17 17:14:59 5: Parsed value: wohnzimmer.pc for key: siteId
2022.11.17 17:14:59 5: Parsed value: wohnzimmer.pc-porcupine_raspberry-pi-518d1ab0-119d-4af7-bde3-fe518b1c4a51 for key: sessionId
2022.11.17 17:14:59 5: Parsed value: heizung for key: Device
2022.11.17 17:14:59 5: RHASSPY: [Rhasspy] Parse (IO: rhasspyMQTT2): Msg: hermes/intent/de.fhem_SetNumeric => {"input": "stelle die heizung bitte auf 21 grad", "intent": {"intentName": "de.fhem:SetNumeric", "confidenceScore": 1.0}, "siteId": "wohnzimmer.pc", "id": null, "slots": [{"entity": "de.fhem.Device-SetNumeric", "value": {"kind": "Unknown", "value": "heizung"}, "slotName": "Device", "rawValue": "heizung", "confidence": 1.0, "range": {"start": 11, "end": 18, "rawStart": 11, "rawEnd": 18}}, {"entity": "rhasspy/number", "value": {"kind": "Number", "value": 21}, "slotName": "Value", "rawValue": "einundzwanzig", "confidence": 1.0, "range": {"start": 29, "end": 31, "rawStart": 29, "rawEnd": 42}}, {"entity": "Unit", "value": {"kind": "Unknown", "value": "grad"}, "slotName": "Unit", "rawValue": "grad", "confidence": 1.0, "range": {"start": 32, "end": 36, "rawStart": 43, "rawEnd": 47}}], "sessionId": "wohnzimmer.pc-porcupine_raspberry-pi-518d1ab0-119d-4af7-bde3-fe518b1c4a51", "customData": "porcupine_raspberry-pi", "asrTokens": [[{"value": "stelle", "confidence": 1.0, "rangeStart": 0, "rangeEnd": 6, "time": null}, {"value": "die", "confidence": 1.0, "rangeStart": 7, "rangeEnd": 10, "time": null}, {"value": "heizung", "confidence": 1.0, "rangeStart": 11, "rangeEnd": 18, "time": null}, {"value": "bitte", "confidence": 1.0, "rangeStart": 19, "rangeEnd": 24, "time": null}, {"value": "auf", "confidence": 1.0, "rangeStart": 25, "rangeEnd": 28, "time": null}, {"value": "21", "confidence": 1.0, "rangeStart": 29, "rangeEnd": 31, "time": null}, {"value": "grad", "confidence": 1.0, "rangeStart": 32, "rangeEnd": 36, "time": null}]], "asrConfidence": 1.0, "rawInput": "stelle die heizung bitte auf einundzwanzig grad", "wakewordId": "porcupine_raspberry-pi", "lang": null}
2022.11.17 17:14:59 5: Parsed value: 0.75 for key: confidence

Hab ich da was falsch gemacht?

Danke!
Stefan

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19680
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #1 am: 17 November 2022, 17:31:57 »
Hmm, auf die Schnelle könnte es daran liegen, dass bei on/off $Value verwendet wird und bei numerischen Angaben $value? (Müßte aber in den Code schauen, testen geht vermutlich schneller).
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline drhirn

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2002
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #2 am: 17 November 2022, 17:48:13 »
Du meinst so? Oder habe ich dich falsch verstanden?
attr hmThermostatWz_Climate rhasspySpecials confirm: SetNumeric="Soll $target wirklich auf $Value Grad gestellt werden?" SetOnOff="Soll ich die $target wirklich $value schalten?"Geht nämlich auch nicht.

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19680
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #3 am: 17 November 2022, 17:50:12 »
Anders rum...
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline drhirn

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2002
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #4 am: 17 November 2022, 17:51:42 »
Hmpf, sorry. Trotzdem keine Änderung.

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19680
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #5 am: 18 November 2022, 06:53:31 »
Hmm, also $Value müßte doch eigentlich passen, die Frage ist, an welcher Stelle das verloren geht bzw. nicht sauber übergeben/aufgelöst wird.

Im Moment habe ich #2454 in Verdacht, die sollte vermutlich noch eine Abfrage enthalten und dann so aussehen:
$Value  = $words->{$data->{Value}} if defined $data->{Value} && defined $words->{$data->{Value}};
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline drhirn

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2002
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #6 am: 18 November 2022, 09:03:08 »
Ja, so funktioniert's. Super!

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19680
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #7 am: 18 November 2022, 09:17:10 »
Thx für's testen, ich check's bei Gelegenheit ein (falls du es nicht machen magst).

Frage noch: wenn da eine (nach DE-Verständnis) Komma-Zahl (z.B. 22.5) rauskommt - wird die dann sauber in Sprache übersetzt? (Es müßte eigentlich dann noch "hintendrein" auch sauber weitergehen, aber getestet habe ich das auch noch nicht).
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline drhirn

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2002
Antw:[Rhasspy] rhasspySpecials - confirm ignoriert $Value
« Antwort #8 am: 18 November 2022, 09:27:01 »
Ja, das funktioniert.

Hab's eingecheckt.
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal