Alpha200 / snips-openhab

Skill für Snips.ai zur Ansteuerung von Geräten mit OpenHAB
Apache License 2.0
2 stars 4 forks source link

Raum wird nicht erkannt #22

Closed mryshakow closed 5 years ago

mryshakow commented 5 years ago

Moin!

Habe die Code Injection jetzt zum laufen gebracht, die Synonyme werden erfolgreich injected uuuuuuund sogar via ASR/NLU erkannt! Super soweit. Aber leider werden meine Räume nicht erkennt:

snipsaisrv | [16:59:35] [Asr] captured text "was weißt du über das kinderzimmer" in 2.0s
snipsaisrv | [16:59:35] [Asr] was asked to stop listening on site azm
snipsaisrv | [16:59:35] [AudioServer] was asked to play a wav of 93.1 kB with id 'effce956-1d47-4627-bb15-95ee2a02edab' on site azm
snipsaisrv | [16:59:36] [AudioServer] finished playing wav with id 'effce956-1d47-4627-bb15-95ee2a02edab'
snipsaisrv | INFO:snips_tts_hermes: Received a play finished message from audio server with an unknown id 'effce956-1d47-4627-bb15-95ee2a02edab'. Ignoring it.
snipsaisrv | [16:59:36] [Nlu] was asked to parse input "was weißt du über das kinderzimmer"
snipsaisrv | [16:59:36] [Nlu] detected intent Alpha200:whatDoYouKnowAbout with confidence score 1.000 for input "was weißt du über das kinderzimmer"
snipsaisrv |               Slots ->
snipsaisrv |                  room -> Kinderzimmer (confidence: 1.000)
snipsaisrv | [16:59:36] [Dialogue] New intent detected Alpha200:whatDoYouKnowAbout with confidence 1.000
snipsaisrv |               Slots ->
snipsaisrv |                  room -> Kinderzimmer (confidence: 1.000)
snipsaisrv | [16:59:36] [Dialogue] was ask to end session with id f8752007-bec3-413e-b8e3-659496eb5d92 by saying 'Ich habe keinen Ort mit der Bezeichnung Kinderzimmer gefunden'
snipsaisrv | [16:59:36] [Tts] was asked to say "Ich habe keinen Ort mit der Bezeichnung Kinderzimmer gefunden"

Via Swagger bekomme ich folgendes zum Kinderzimmer:

url: /rest/items?
metadata: semantics,synonyms
fields: name,label,type,editable,metadata
...},
{
    "metadata": {
      "synonyms": {
        "value": "Kinderzimmer"
      },
      "semantics": {
        "value": "Location_Indoor_Room_Bedroom",
        "config": {
          "isPartOf": "og"
        }
      }
    },
    "editable": false,
    "type": "Group",
    "name": "ogZ3",
    "label": "OG Z3"
  },
{...

Wenn ich den Code richtig lese, werden Räume daran identifiziert, ob der Wert der Semantic mit "Location" beginnt, was ja im Falle des Kinderzimmers stimmen sollte. Werde wie immer selber forschen... Aber vielleicht hast du ja schon ein paar Hinweise für mich?

Alpha200 commented 5 years ago

Hi, ich glaube ich habe den Fehler identifiziert. Kannst du mal gucken, ob es bei dir auf dem Branch hotfix/room funktioniert?

mryshakow commented 5 years ago

Moin!

Perfekt, hat geklappt! Super. Jetzt scheint mein System ja endlich grundsätlzich einsatzbereit. :)

Frage am Rande: Wie Debuggst du so einen Skill? Würde mir einen Debugger nach Java Vorbild oder ähnlichem wünschen. Habe bis jetzt aber nur Lösungen gefunden, die Codeänderungen verlangen. Und überall dauernd print("bla") in den Code zu schreiben, services neustarten, log durchforsten und wieder von vorne beginnen ist doch bestimmt nicht die beste Lösung.

Alpha200 commented 5 years ago

Hi, zur Entwicklung nutze ich PyCharm (https://www.jetbrains.com/pycharm/). Ich habe noch nicht versucht einen laufenden Skill zu debuggen. Meistens starte ich nur die openhab.py in einer Python-Konsole und erstelle mir eine Instanz der openHAB-Klasse.

Ich möchte davon allerdings weg, indem ich ein Mockup für die Schnittstelle zu Snips und zu openHAB erstelle und dann vernünftig Tests schreibe (#19), die z.B. diesen Fehler eher aufgedeckt hätten.