Neue Insider Version V 4.5 IP 4 verfügbar

Ein Dutzend Neuheiten, viele Verbesserungen und einige Bugfixes

Profilexport- und Import für HTTP-/REST-API; Visualisierung von Logik-Zellen (!); Erweitertes System-Monitoring; Admin-UI mit nun sechs Sprachen, VISU Client mit zwölf Sprachen; Aufzeichnung und Anzeige von Status-Logs (z.B. Diagnosetexte von KNX-Spannungsversorgungen und KNX-Aktoren); Vielfache Verbesserungen des VISU Editors uvm.

Alle Informationen hier: https://elabnet.atlassian.net/wiki/x/AY ... JwIjoiYyJ9

[DISKUSSION] [V4.5 IP3] Offline Sprachsteuerung mit Rhasspy, Auswertung MQTT-Topic / HermesMQTT Protokoll

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
avater
Reactions:
Beiträge: 35
Registriert: Sa Apr 02, 2022 12:19 pm
Hat sich bedankt: 21 Mal
Danksagung erhalten: 6 Mal

[V4.5 IP3] Offline Sprachsteuerung mit Rhasspy, Auswertung MQTT-Topic / HermesMQTT Protokoll

#1

Beitrag von avater »

Hat jemand Erfahrung mit Rhasspy https://rhasspy.readthedocs.io/en/latest/?

Ich habe mich jetzt ein paar Stunden damit beschäftigt und es auf einem Pi 4 grundsätzlich zum Laufen gebracht. Kommunikation mit dem TWS kann via MQTT erfolgen (Hermes Protokoll https://ip-team2.intia.de/tech-stack/hermesmqtt/).

Das Esstischlicht ein und ausschalten war recht schnell gemacht, aber es braucht noch etwas Cleveres, um solch ein Topic auszuwerten:

Code: Alles auswählen

{
  "input": "schalte die garagenlicht aus",
  "intent": {
    "intentName": "ChangeLightState",     <---- Die grundlegende Funktion: Licht an/aus
    "confidenceScore": 1
  },
  "siteId": "default",
  "id": null,
  "slots": [                               <----- Dieses Array kann beliebig lang werden und bildet die Dimensionalität der Befehlssätze ab
    {
      "entity": "name",
      "value": {
        "kind": "Unknown",
        "value": "garagenlicht"         <---- Das steht drin, welches Licht
      },
      "slotName": "name",
      "rawValue": "garagenlicht",
      "confidence": 1,
      "range": {
        "start": 12,
        "end": 24,
        "rawStart": 12,
        "rawEnd": 24
      }
    },
    {
      "entity": "state",
      "value": {
        "kind": "Unknown",
        "value": "aus"             <------ An- oder ausschalten?
      },
      "slotName": "state",
      "rawValue": "aus",
      "confidence": 1,
      "range": {
        "start": 25,
        "end": 28,
        "rawStart": 25,
        "rawEnd": 28
      }
    }
  ],
  "sessionId": "default-default-5f044920-a813-4474-88f4-f816c24d2867",
  "customData": "default",
  "asrTokens": [
    [
      {
        "value": "schalte",
        "confidence": 1,
        "rangeStart": 0,
        "rangeEnd": 7,
        "time": null
      },
      {
        "value": "die",
        "confidence": 1,
        "rangeStart": 8,
        "rangeEnd": 11,
        "time": null
      },
      {
        "value": "garagenlicht",
        "confidence": 1,
        "rangeStart": 12,
        "rangeEnd": 24,
        "time": null
      },
      {
        "value": "aus",
        "confidence": 1,
        "rangeStart": 25,
        "rangeEnd": 28,
        "time": null
      }
    ]
  ],
  "asrConfidence": 0.7371840000000001,
  "rawInput": "schalte die garagenlicht aus",
  "wakewordId": "default",
  "lang": null
}
Das könnte eine Logik sein, die aus dem MQTT-Subsystem die "values" aller Slots bekommt. Aber dann braucht man eine Logik pro "intent". :think:

Wirkt ziemlich fummelig. Hat jemand eine bessere Idee?
Zuletzt geändert von blaubaerli am Fr Mär 14, 2025 9:00 am, insgesamt 1-mal geändert.
Viele Grüße!
Arne

TWS 3500 XL #1458 mit KNX, 1-Wire (PBM #1139), HTTP-API, MQTT, Modbus
Antworten

Zurück zu „Logikengine & Logik-Editor“