NEWS
Hannah — Open Source Smart-Home-Sprachassistentin
-
Ich fürchte Hannah und ich verstehen uns nicht.
Habe auf dem Test IoB einen DP angelegt: alias.0.EnOcean.Schalten.Wohnzimmer.status als Bolean, Rolle: switch.light, Raum: Wohnzimmer, Funktion: Licht.
Über "hannah.0.textCommand" kann ich ja mit Hannah reden, Hallo -> "hannah.0.textAnswer": Willkommen zuhause!Sag ich Ihr allerdings "Licht Wohnzimmer an" -> sagt Sie nur "Keine Geräte gefunden."
Wo liegt denn hier mein Denkfehler!?!?
-
Der State sollte einen Raum und eine Funktion haben und beides musst du in den Admin-Settings auswählen: https://hannah-docs.leonie.network/components/iobroker-adapter/configuration/
Beziehungsweise:
https://hannah-docs.leonie.network/manual/smart-home-integration/ -
gut, der Adapter selbst kennt schon keine Devices bzw. hat Probleme diese zu lesen. Nimm mal alias.0.EnOcean aus den zusätzlichen Präfixes raus. Ein Objectdump von alias.0.EnOcean.Schalten.Wonzimmer (oder darüber) wäre hilfreich. Rein von deinem Screenshot kann ich keinen Fehler sehen.
-
Das Log vom Adapter ohne alias.0 als Präfix
Was meinst du mit Objectdump? Die Objekt Daten?

EnOcean ist ein Ordner
Schalten ist ein Gerät
Wohnzimmer ist ein Kanal -
ich schätze halt dass das nicht korrekt ist. Aber dazu können die ioBroker-Profis mehr sagen. Danke für den Export, ich werde es prüfen. Ich denke Wohnzimmer müsste ein Raum sein und optimal würde dann zwischen Raum und State ein Device wie bspw. "Deckenlampe" sein.
Ich muss den Parser prüfen, wird eine Weile dauern.
-
Ich erwarte in spätestens 2 Stunden das Ergebnis, das sind wir hier so von dir gewöhnt!!

Spaß bei Seite, kein Stress, gut ding will weile haben.iobroker lässt das aber nur in dieser Reihenfolge zu, nur Verzeichnisse kann man noch weiter kaskadieren, ansonsten geht nur:
Verzeichnis (folder)-> Gerät (device)-> Kanal (chanel)-> Zustand (state) -
Hannah supportet das aktuell aber nicht. Sie will immer das Device im Raum haben und die Funktion am State. Alternativ noch den Raum am Channel. Ich denke da auch immer "physisch". Ein Device ist eigentlich immer in einem Raum und niemals Hausweit.
Aber ich baue dir gerne einen Fix in die Software, damit der Parser auch den Raum am State erkennt
-
Hab das auch mal mit Gerat im Raum probiert, klappt aber auch nicht.
Mal ne dumme Frage, warum suchst du die Räume im Baum und nicht aus den Enum "room" und die Funktion in "functions"?
Erschlag mich jetzt nicht, bin kein Programmierer.
Auf diese Art und Weise sucht mein kleiner Yarvis im gesamten Baum nach was passendem.Ich suche zwar auch im Baum aber nur weil ich nicht
"Licht Küche Deckenlampe einschalten" oder "Licht Küche Anrrichte einschalten" sagen will, sondern nur
"Licht Küche einschalten" oder Licht Anrichte ausschalten".let idListe = []; Return = X = Suche.toLowerCase() Y = Funktion.toLowerCase() State = 'CMD'; Room = X.slice(1, X.length); if (Y == 'temperatur') {State = 'Temperatur',Y = 'temperatur_sensor'} if (Y == 'rolladen') {State = 'Soll-Position'} if ((Value > 1) && (Y == 'licht')) {State = 'Soll'} if ((Value == 'status') && (Y == 'licht') || (Y == 'gerät')) {State = 'Status'} if ((Value == 'status') && (Y == 'rolladen')) {State = 'Geöffnet_zu'} $('alias.0.*' + Room + '*.' + State +'(functions=' + Y + ')').each(function(id) {idListe.push(id)}); for (var i_index in idListe) { i = idListe[i_index]; if (String((i.toLowerCase())).includes(X)) {Return = i;break} } if (Return == Suche) {Return=null} return Return; -
Ich suche schon die Räume in den Enums, das ist nicht das Problem. Der Parser ist nur recht starr darauf ausgelegt, das ein State eben keinen Raum hat, sondern der Raum immer im übergeordneten Element ist. Aber ich habe das ja nun geändert. Einfach Adapter v1.1.6 installieren und deine States sollten funktionieren.
Nebenbei: Wenn du den Raum "Küche" hast und darin 5000 Devices die alle als "Lampe" deklariert sind und du sagst du Hannah "Licht Küche an", schaltet sie durchaus alle Lampen in Raum an ;)
-
Dafür gibt es nun einen standalone Chat für Hannah:
https://github.com/Leonie-Network/hannah-chat/releasesDa liegen fertig kompilierte Binaries für Windows und Linux, aber "nur" 64bit. Also keine ARM-Prozessoren wie Handy oder Raspberry Pi, dafür aber Desktop Prozessoren für den heimischen PC.
Neben der Binary muss noch die Datei config.yaml existieren, deren Inhalt kann man sich hier kopieren und dann an die eigenen Gegebenheiten anpassen: https://github.com/Leonie-Network/hannah-chat/blob/main/config.example.yaml
Unterstützt wird aktuell nur der anonyme Chat. Also Hannah wird nicht wissen wer grade mit ihr spricht, aber sie wird alles tun, was quasi Gäste dürfen, also bspw. das Haus steuern oder, bei Verfügbarkeit eines LLMs, in den Smalltalmodus gehen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden




