NEWS
Hannah — Open Source Smart-Home-Sprachassistentin
-
Hey,
Zunächst einmal, Hannah antwortet dir nur "Das kann ich nicht beantworten", wenn sie es nicht versteht. Dazu eine Rückfrage von mir:
Kennt Hannah deine Geräte noch? Das kannst du ja in der WebUI prüfen.
Du kannst mir auch gerne deine CoreLogs schicken, da steht drin was Hannah verstanden hat.Dass die Mikrofone auch andere Geräusche aufnehmen, wie bspw. Fernseher oder Radio, liegt in der Natur der Sache. Auch die verwendete Stillerkennung kann nicht die Aufnahme beenden, wenn im Hintergrund weiterhin Geräusche sind (weil Geräusche nunmal nicht Stille sind).
Grundsätzlich kann das DevKit-Board, das du nutzt, kann von meinen Satelliten abweichen, denn nur dort habe ich exakte Werte. Dennoch war es da ein längerer Weg, um die Raumgeräusche zu minimieren.
Ich weiß nicht, welche Firmware du nun auf dem DevKit installiert hast, ich nehme aber mal an, dass du die DevKit-Version (sdkconfig.defaults.devkit) verwendest. Die nutzt auch ganz andere Mikrofone als meine Satelliten. Mit ganz eigenen Settings.Dann ist natürlich noch die Frage, welche Speech-to-Text-Anwendung verwendet wird. Auch Whisper hat mehrere Modelle. Größere/stärkere Modelle brauchen länger für die Berechnung, bieten aber häufig eine bessere Erkennungsqualität. Auch hier musst du im Zweifel verschiedene Modelle austesten. Jedes Modell hat seine eigenen Stärken und Schwächen und kann je nach Audioeingang unterschiedliche Ergebnisse liefern. Welches Modell bei dir laufen kann und mit welchem du zufrieden bist, weißt am Ende nur du.
Grundsätzlich bist du auch nicht auf Whisper beschränkt. Hannah kann ebenso eine entsprechende Software über das Netzwerk ansprechen.
Du siehst also, die Audioeinrichtung ist eine sehr komplexe Sache. Es gibt da nicht "den einen" Hebel den man umlegt damit es besser läuft, es erfordert etliche Arbeitsstunden das entsprechend einzustellen. Für das DevKit kann ich das nicht übernehmen, da die Einstellungen auch bspw. von der Geometrie der Mikrofone (wo sitzt welches Mikrofon, wie angeschlossen) abhängig ist. Da hilft im Zweifel nur ausprobieren.
In der WebUI des Satelliten gibt es die ‚Erkennungsschwelle'. Wenn du die etwas höher stellst, löst Hannah seltener fälschlich aus, hört dafür aber auch etwas schlechter auf das echte Wort. Probier das zuerst.
Du könntest auch die Audioverstärkung der Mikrofone senken, dann wäre für den Satelliten alles leiser, was dann dazu führen könnte, dass der Satellit allgemein weniger sensitiv auf Umgebungsgeräusche reagiert. Allerdings bietet die DevKit-Version keine direkten Einstellungen dafür. Das habe ich nur in meinen Satelliten-Platinen eingebaut.
Das DevKit habe ich nur einmal zum Testen meines Designs genutzt und seitdem nicht weiterentwickelt, deshalb gibt es dort weniger Einstellungen.Dennoch kannst du die Audioverstärkung ändern. In der Datei 'satellite-esp/components/hannah_audio/hannah_audio.c' wird das Audio der Mikrofone für I2S mit einem festen Wert von 14 ("s32[i*2] >> 14") umgerechnet. Du könntest diese 14 erhöhen und dann die Firmware neu kompilieren und flashen. Welchen Wert du verwenden solltest, weiß ich nicht, ich würde es vmtl. mal mit 15, alternativ mit 16 versuchen.
Erhöhe den Wert nur nicht zu stark, denn ein größerer Wert macht das Signal leiser, und wenn es zu leise wird, versteht Whisper dich nicht mehr.Bei einem Fernseher oder Radio ist es aber normal, dass das Wakeword auslöst, zu oft treten dort phonetisch gleiche Klänge auf, das kann der Satellit technisch nicht unterscheiden.
Generell zum Aufstellort: Stelle den Satelliten nicht direkt neben den Fernseher, sondern bspw. auf den Couchtisch, wenn er dich verstehen soll, während du auf der Couch sitzt. Je lauter deine Stimme im Vergleich zur Umgebung ist, desto besser wird es funktionieren. Dafür gilt nur dummerweise nicht die Lautstärke wie du sie hörst, sondern die, wie der Satellit sie hört. So kann auch ein leiserer Fernseher lauter für den Satelliten sein als du, wenn der Fernseher nur 50 cm neben dem Satelliten ist, du aber 5 m.
Konkret zu der Lautstärke in dem Fall:
Pro Verdopplung der Entfernung wird ein Geräusch grob 6 dB leiser, bei 50 cm gegenüber 5 m (also dem Zehnfachen) sind das im Idealfall etwa 20 dB. Ein Fernseher, der direkt neben dem Satelliten steht, kann für ihn also deutlich lauter sein als du auf der Couch, obwohl er im Raum viel leiser wirkt als du.
Das gilt aber natürlich nur für die freie Fläche. In einer Wohnung, mit Decken, Wänden, Fenstern, Türen und Möbeln, wird Schall gerne auch mal reflektiert und eingefangen, wobei dann die reale Lautstärke die beim Satelliten ankommt nochmal anders sein kann.Das Wakeword ist halb vorgegeben. Du kannst jederzeit ein eigenes Wakeword auf den Assetserver laden, der Key muss "wakeword" sein, der Namespace "satellite" und die Datei muss für microwakeword sein. Du kannst dir ein beliebiges runterladen, oder ein eigenes trainieren.
Ich arbeite aber gerade an einem besseren, das weniger fälschlich auslöst. Sobald es fertig ist, gebe ich hier Bescheid.Liebe Grüße
PS: Audiodesign ist blöd.
Hey,
Zunächst einmal, Hannah antwortet dir nur "Das kann ich nicht beantworten", wenn sie es nicht versteht. Dazu eine Rückfrage von mir:
Kennt Hannah deine Geräte noch? Das kannst du ja in der WebUI prüfen.Ja, über Telegram funktioniert es per Sprache wie auch per Text
Du kannst mir auch gerne deine CoreLogs schicken, da steht drin was Hannah verstanden hat.
Das mach ich Später wenn ich bessere Ergebnisse erzielt habe.
Dass die Mikrofone auch andere Geräusche aufnehmen, wie bspw. Fernseher oder Radio, liegt in der Natur der Sache. Auch die verwendete Stillerkennung kann nicht die Aufnahme beenden, wenn im Hintergrund weiterhin Geräusche sind (weil Geräusche nunmal nicht Stille sind).
Grundsätzlich kann das DevKit-Board, das du nutzt, kann von meinen Satelliten abweichen, denn nur dort habe ich exakte Werte. Dennoch war es da ein längerer Weg, um die Raumgeräusche zu minimieren.Ich werde daran Arbeiten.
Ich weiß nicht, welche Firmware du nun auf dem DevKit installiert hast, ich nehme aber mal an, dass du die DevKit-Version (sdkconfig.defaults.devkit) verwendest. Die nutzt auch ganz andere Mikrofone als meine Satelliten. Mit ganz eigenen Settings.
Firmware, deine DevKit-Version sdkconfig von Github
Dann ist natürlich noch die Frage, welche Speech-to-Text-Anwendung verwendet wird.
Ich denke mal das ist Fast Wisper die ich aus deiner Anleitung Installiert habe oder braucht es noch einen anderen?
Auch Whisper hat mehrere Modelle. Größere/stärkere Modelle brauchen länger für die Berechnung, bieten aber häufig eine bessere Erkennungsqualität.
Auch hier musst du im Zweifel verschiedene Modelle austesten. Jedes Modell hat seine eigenen Stärken und Schwächen und kann je nach Audioeingang unterschiedliche Ergebnisse liefern. Welches Modell bei dir laufen kann und mit welchem du zufrieden bist, weißt am Ende nur du.Wo würde ich diese dann Finden?
Grundsätzlich bist du auch nicht auf Whisper beschränkt. Hannah kann ebenso eine entsprechende Software über das Netzwerk ansprechen.
einen Tip dazu?
Du siehst also, die Audioeinrichtung ist eine sehr komplexe Sache. Es gibt da nicht "den einen" Hebel den man umlegt damit es besser läuft, es erfordert etliche Arbeitsstunden das entsprechend einzustellen. Für das DevKit kann ich das nicht übernehmen, da die Einstellungen auch bspw. von der Geometrie der Mikrofone (wo sitzt welches Mikrofon, wie angeschlossen) abhängig ist. Da hilft im Zweifel nur ausprobieren.
In der WebUI des Satelliten gibt es die ‚Erkennungsschwelle'. Wenn du die etwas höher stellst, löst Hannah seltener fälschlich aus, hört dafür aber auch etwas schlechter auf das echte Wort. Probier das zuerst.
Das bin ich schon am Testen.
Du könntest auch die Audioverstärkung der Mikrofone senken, dann wäre für den Satelliten alles leiser, was dann dazu führen könnte, dass der Satellit allgemein weniger sensitiv auf Umgebungsgeräusche reagiert. Allerdings bietet die DevKit-Version keine direkten Einstellungen dafür. Das habe ich nur in meinen Satelliten-Platinen eingebaut.
Das DevKit habe ich nur einmal zum Testen meines Designs genutzt und seitdem nicht weiterentwickelt, deshalb gibt es dort weniger Einstellungen.Dennoch kannst du die Audioverstärkung ändern. In der Datei 'satellite-esp/components/hannah_audio/hannah_audio.c' wird das Audio der Mikrofone für I2S mit einem festen Wert von 14 ("s32[i*2] >> 14") umgerechnet. Du könntest diese 14 erhöhen und dann die Firmware neu kompilieren und flashen. Welchen Wert du verwenden solltest, weiß ich nicht, ich würde es vmtl. mal mit 15, alternativ mit 16 versuchen.
Erhöhe den Wert nur nicht zu stark, denn ein größerer Wert macht das Signal leiser, und wenn es zu leise wird, versteht Whisper dich nicht mehr.Hab ich mal auf 15 gestellt, kommt dann etwas besser.
Bei einem Fernseher oder Radio ist es aber normal, dass das Wakeword auslöst, zu oft treten dort phonetisch gleiche Klänge auf, das kann der Satellit technisch nicht unterscheiden.
Generell zum Aufstellort: Stelle den Satelliten nicht direkt neben den Fernseher, sondern bspw. auf den Couchtisch, wenn er dich verstehen soll, während du auf der Couch sitzt. Je lauter deine Stimme im Vergleich zur Umgebung ist, desto besser wird es funktionieren. Dafür gilt nur dummerweise nicht die Lautstärke wie du sie hörst, sondern die, wie der Satellit sie hört. So kann auch ein leiserer Fernseher lauter für den Satelliten sein als du, wenn der Fernseher nur 50 cm neben dem Satelliten ist, du aber 5 m.
Konkret zu der Lautstärke in dem Fall:
Pro Verdopplung der Entfernung wird ein Geräusch grob 6 dB leiser, bei 50 cm gegenüber 5 m (also dem Zehnfachen) sind das im Idealfall etwa 20 dB. Ein Fernseher, der direkt neben dem Satelliten steht, kann für ihn also deutlich lauter sein als du auf der Couch, obwohl er im Raum viel leiser wirkt als du.
Das gilt aber natürlich nur für die freie Fläche. In einer Wohnung, mit Decken, Wänden, Fenstern, Türen und Möbeln, wird Schall gerne auch mal reflektiert und eingefangen, wobei dann die reale Lautstärke die beim Satelliten ankommt nochmal anders sein kann.Das Wakeword ist halb vorgegeben. Du kannst jederzeit ein eigenes Wakeword auf den Assetserver laden, der Key muss "wakeword" sein, der Namespace "satellite" und die Datei muss für microwakeword sein. Du kannst dir ein beliebiges runterladen, oder ein eigenes trainieren.
Ich arbeite aber gerade an einem besseren, das weniger fälschlich auslöst. Sobald es fertig ist, gebe ich hier Bescheid.Anderes Wakewort müsste ich schon machen, denn mein Hund (Enya) fühlt sich bei Hannah immer Angesprochen und schaut mich Fragend an.
Da bräuchte ich aber noch ein Paar Infos zu.
Wie wird das wo genau Eingetragen?Liebe Grüße
PS: Audiodesign ist blöd.
-
Hey,
Zunächst einmal, Hannah antwortet dir nur "Das kann ich nicht beantworten", wenn sie es nicht versteht. Dazu eine Rückfrage von mir:
Kennt Hannah deine Geräte noch? Das kannst du ja in der WebUI prüfen.Ja, über Telegram funktioniert es per Sprache wie auch per Text
Du kannst mir auch gerne deine CoreLogs schicken, da steht drin was Hannah verstanden hat.
Das mach ich Später wenn ich bessere Ergebnisse erzielt habe.
Dass die Mikrofone auch andere Geräusche aufnehmen, wie bspw. Fernseher oder Radio, liegt in der Natur der Sache. Auch die verwendete Stillerkennung kann nicht die Aufnahme beenden, wenn im Hintergrund weiterhin Geräusche sind (weil Geräusche nunmal nicht Stille sind).
Grundsätzlich kann das DevKit-Board, das du nutzt, kann von meinen Satelliten abweichen, denn nur dort habe ich exakte Werte. Dennoch war es da ein längerer Weg, um die Raumgeräusche zu minimieren.Ich werde daran Arbeiten.
Ich weiß nicht, welche Firmware du nun auf dem DevKit installiert hast, ich nehme aber mal an, dass du die DevKit-Version (sdkconfig.defaults.devkit) verwendest. Die nutzt auch ganz andere Mikrofone als meine Satelliten. Mit ganz eigenen Settings.
Firmware, deine DevKit-Version sdkconfig von Github
Dann ist natürlich noch die Frage, welche Speech-to-Text-Anwendung verwendet wird.
Ich denke mal das ist Fast Wisper die ich aus deiner Anleitung Installiert habe oder braucht es noch einen anderen?
Auch Whisper hat mehrere Modelle. Größere/stärkere Modelle brauchen länger für die Berechnung, bieten aber häufig eine bessere Erkennungsqualität.
Auch hier musst du im Zweifel verschiedene Modelle austesten. Jedes Modell hat seine eigenen Stärken und Schwächen und kann je nach Audioeingang unterschiedliche Ergebnisse liefern. Welches Modell bei dir laufen kann und mit welchem du zufrieden bist, weißt am Ende nur du.Wo würde ich diese dann Finden?
Grundsätzlich bist du auch nicht auf Whisper beschränkt. Hannah kann ebenso eine entsprechende Software über das Netzwerk ansprechen.
einen Tip dazu?
Du siehst also, die Audioeinrichtung ist eine sehr komplexe Sache. Es gibt da nicht "den einen" Hebel den man umlegt damit es besser läuft, es erfordert etliche Arbeitsstunden das entsprechend einzustellen. Für das DevKit kann ich das nicht übernehmen, da die Einstellungen auch bspw. von der Geometrie der Mikrofone (wo sitzt welches Mikrofon, wie angeschlossen) abhängig ist. Da hilft im Zweifel nur ausprobieren.
In der WebUI des Satelliten gibt es die ‚Erkennungsschwelle'. Wenn du die etwas höher stellst, löst Hannah seltener fälschlich aus, hört dafür aber auch etwas schlechter auf das echte Wort. Probier das zuerst.
Das bin ich schon am Testen.
Du könntest auch die Audioverstärkung der Mikrofone senken, dann wäre für den Satelliten alles leiser, was dann dazu führen könnte, dass der Satellit allgemein weniger sensitiv auf Umgebungsgeräusche reagiert. Allerdings bietet die DevKit-Version keine direkten Einstellungen dafür. Das habe ich nur in meinen Satelliten-Platinen eingebaut.
Das DevKit habe ich nur einmal zum Testen meines Designs genutzt und seitdem nicht weiterentwickelt, deshalb gibt es dort weniger Einstellungen.Dennoch kannst du die Audioverstärkung ändern. In der Datei 'satellite-esp/components/hannah_audio/hannah_audio.c' wird das Audio der Mikrofone für I2S mit einem festen Wert von 14 ("s32[i*2] >> 14") umgerechnet. Du könntest diese 14 erhöhen und dann die Firmware neu kompilieren und flashen. Welchen Wert du verwenden solltest, weiß ich nicht, ich würde es vmtl. mal mit 15, alternativ mit 16 versuchen.
Erhöhe den Wert nur nicht zu stark, denn ein größerer Wert macht das Signal leiser, und wenn es zu leise wird, versteht Whisper dich nicht mehr.Hab ich mal auf 15 gestellt, kommt dann etwas besser.
Bei einem Fernseher oder Radio ist es aber normal, dass das Wakeword auslöst, zu oft treten dort phonetisch gleiche Klänge auf, das kann der Satellit technisch nicht unterscheiden.
Generell zum Aufstellort: Stelle den Satelliten nicht direkt neben den Fernseher, sondern bspw. auf den Couchtisch, wenn er dich verstehen soll, während du auf der Couch sitzt. Je lauter deine Stimme im Vergleich zur Umgebung ist, desto besser wird es funktionieren. Dafür gilt nur dummerweise nicht die Lautstärke wie du sie hörst, sondern die, wie der Satellit sie hört. So kann auch ein leiserer Fernseher lauter für den Satelliten sein als du, wenn der Fernseher nur 50 cm neben dem Satelliten ist, du aber 5 m.
Konkret zu der Lautstärke in dem Fall:
Pro Verdopplung der Entfernung wird ein Geräusch grob 6 dB leiser, bei 50 cm gegenüber 5 m (also dem Zehnfachen) sind das im Idealfall etwa 20 dB. Ein Fernseher, der direkt neben dem Satelliten steht, kann für ihn also deutlich lauter sein als du auf der Couch, obwohl er im Raum viel leiser wirkt als du.
Das gilt aber natürlich nur für die freie Fläche. In einer Wohnung, mit Decken, Wänden, Fenstern, Türen und Möbeln, wird Schall gerne auch mal reflektiert und eingefangen, wobei dann die reale Lautstärke die beim Satelliten ankommt nochmal anders sein kann.Das Wakeword ist halb vorgegeben. Du kannst jederzeit ein eigenes Wakeword auf den Assetserver laden, der Key muss "wakeword" sein, der Namespace "satellite" und die Datei muss für microwakeword sein. Du kannst dir ein beliebiges runterladen, oder ein eigenes trainieren.
Ich arbeite aber gerade an einem besseren, das weniger fälschlich auslöst. Sobald es fertig ist, gebe ich hier Bescheid.Anderes Wakewort müsste ich schon machen, denn mein Hund (Enya) fühlt sich bei Hannah immer Angesprochen und schaut mich Fragend an.
Da bräuchte ich aber noch ein Paar Infos zu.
Wie wird das wo genau Eingetragen?Liebe Grüße
PS: Audiodesign ist blöd.
Hi,
Ja, über Telegram funktioniert es per Sprache wie auch per Text
Dann ist Whisper und die NLU nicht das Problem. Sofern du in Telegram auch Sprache verwendest, läuft es exakt über den selben Weg. Für Hannah ist es egal ob das Audio über den Satelliten oder über einen andren Weg kommt.
Ergo: Die Mikrofone deiner Satelliten sind schuld. Du kannst dir im Acivity Log anhören was Hannah verstanden hat, bzw. was am Core ankam. Deine Stimme muss nicht unbedingt glasklar sein, aber eben verständlich. Höre es dir einfach mal an, vielleicht findest du so den richtigen Hebel.Ich denke mal das ist Fast Wisper die ich aus deiner Anleitung Installiert habe oder braucht es noch einen anderen?
Nein, faster-whisper ist durchaus ausreichend. Bei mir läuft faster-whisper lokal auf dem Server wo auch Core läuft, dazu kommt noch faster-whisper-server auf einem anderen Server und dann habe ich noch die Azure Speech Services laufen, das ist ein Cloud Dienst.
Grundsätzlich läuft es aber auch nur mit faster-whisper lokal. Es gibt Modelle die sind stärker von GPUs abhängig, es gibt aber auch welche die bspw. auf einem Toaster laufen können.Wo würde ich diese dann Finden?
Im Internet. Beispielsweise auf hugging-face: https://huggingface.co/openai/whisper-large-v3
einen Tip dazu?
Siehe zwei Absätze weiter vorher. Generell denke ich nicht das Whisper alleine das Problem bei dir ist, dann würde nämlich auch Telegram mit Sprachnachrichten nicht funktionieren. Letzendlich ist aber auch Speech-to-text, ebenso wie Text-to-Speech ein Machine Learning, also (eine Form) KI. Da gilt: Viel Leistung hilft. Die Modelle muss man leider studieren. Jedes hat eine Dokumentation in dem auch die Vorraussetzungen stehen, im Zweifel ein anderes laden und schauen was passiert.
Hab ich mal auf 15 gestellt, kommt dann etwas besser.
Ein Fortschritt, freut mich.
denn mein Hund (Enya) fühlt sich bei Hannah immer Angesprochen
Hannah ist halt ihr Name :D
Andere Modelle kannst du bspw. dort runterladen:
https://github.com/esphome/micro-wake-word-models/tree/main/modelsDas sind die offiziellen Modelle von microwakeword. Du brauchst die tflite-Datei. Dann gehst du in die WebUI vom AssetServer, drücksts auf Upload, wählst den Channel "satellite" und eine Datei, trägt als Key "wakeword" ein und drückst auf Upload.
Beim nächsten Neustart, wird der Satellit das runterladen. Damit kannst du das Wakeword überschreiben.
Aber Achtung: Der Satellit benötgt zwei Neustarts um das zu aktivieren. Der erste Neustart lädt das neue Wakeword runter, der zweite aktiviert ist.Liebe Grüße
-
-
-
Nach einem System Neustart funktionierte Telegram Wieder.
Welche Logs sollen es sein ?
Nach dem Einspielen des neuen Wakeworts mehrfachen neustarts des Sateliten über die Webseite des Sateliten sowie Hartreset durch Entfernen der Stromversorgung wird weder das neue Wakewort noch das alte bei einem Test erkannt -
-
natürlich die Logs vom Satelliten, da steht drin ob er das Wakeword geladen hat und was er damit tut
-
-
-
Hi,
Ja, das Wakeword wird geladen. Sollte während deinem Logauszug das Wakeword ausgelöst worden sein? Wenn ja, dann ist das ein Beleg dafür das einfach gar nichts passiert, wenn nein, ist der Log für die Frage nicht passend.
Welches Wakeword hast du denn geladen?Zu deinen MQTT-Topics:
Beide werden exklusiv von Core verwendetet zur Steuerung des Satelliten.- listen: schaltet das Mikrofon ein, wenn Hannah dir eine Frage gestellt hat und deine Antwort hören will. Der Satellit nimmt also alles in den nächsten Sekunden auf und sendet es an Core, wo es den bekannten Pfad durchläuft.
- restart: startet den Satelliten neu. Dabei ist egal, was in der Nachricht steht, jede Nachricht darauf löst den Neustart aus.
Was du mit "ignorieren" meinst, weiß ich nicht. In dem Stack gibt es keine Einstellung dazu.
Wenn dein Satellit andauernd neustartet gibt es dafür zwei Gründe:
- Der Satellit ist einer Panic und wird not-gestartet.
- Der Satellit bekommt über das restart-topic den Befehl dazu
Eine Panic kann ich deinem Logauszug nicht erkennen, viel mehr wurde dein Satellit (in dem Log) gestartet weil du ihm Strom gegeben hast, vorher war er aus.
Das restart-topic ist, wie das listen-topic nicht retained. Das heißt, der MQTT-Broker speichert diese nicht und die Kommunikation findet nur in Echtzeit statt. Das führt bspw. dazu das wenn, während ein Satellit offline ist, eines dieser Topics beschrieben wird, weiß das der Satellit nicht wenn er online kommt und der Broker sagt es ihm nicht.
Sollte also dieses Topic bei dir dauerhaft im mqtt gepublished werden, läuft bei dir was falsch. Ich weiß das der MQTT-Adapterfür ioBroker, wenn er als Broker arbeitet, alle Topics die er verabeitet als Datenpunkt anlegen. Er darf aber nicht die Topics von Hannah aktiv announcen, das ist einzig und alleine die Aufgabe von Core und Satellite. Schau bitte in dein MQTT, wer welches Topic veröffentlicht. -
Hi,
Ja, das Wakeword wird geladen. Sollte während deinem Logauszug das Wakeword ausgelöst worden sein? Wenn ja, dann ist das ein Beleg dafür das einfach gar nichts passiert, wenn nein, ist der Log für die Frage nicht passend.
Welches Wakeword hast du denn geladen?Zu deinen MQTT-Topics:
Beide werden exklusiv von Core verwendetet zur Steuerung des Satelliten.- listen: schaltet das Mikrofon ein, wenn Hannah dir eine Frage gestellt hat und deine Antwort hören will. Der Satellit nimmt also alles in den nächsten Sekunden auf und sendet es an Core, wo es den bekannten Pfad durchläuft.
- restart: startet den Satelliten neu. Dabei ist egal, was in der Nachricht steht, jede Nachricht darauf löst den Neustart aus.
Was du mit "ignorieren" meinst, weiß ich nicht. In dem Stack gibt es keine Einstellung dazu.
Wenn dein Satellit andauernd neustartet gibt es dafür zwei Gründe:
- Der Satellit ist einer Panic und wird not-gestartet.
- Der Satellit bekommt über das restart-topic den Befehl dazu
Eine Panic kann ich deinem Logauszug nicht erkennen, viel mehr wurde dein Satellit (in dem Log) gestartet weil du ihm Strom gegeben hast, vorher war er aus.
Das restart-topic ist, wie das listen-topic nicht retained. Das heißt, der MQTT-Broker speichert diese nicht und die Kommunikation findet nur in Echtzeit statt. Das führt bspw. dazu das wenn, während ein Satellit offline ist, eines dieser Topics beschrieben wird, weiß das der Satellit nicht wenn er online kommt und der Broker sagt es ihm nicht.
Sollte also dieses Topic bei dir dauerhaft im mqtt gepublished werden, läuft bei dir was falsch. Ich weiß das der MQTT-Adapterfür ioBroker, wenn er als Broker arbeitet, alle Topics die er verabeitet als Datenpunkt anlegen. Er darf aber nicht die Topics von Hannah aktiv announcen, das ist einzig und alleine die Aufgabe von Core und Satellite. Schau bitte in dein MQTT, wer welches Topic veröffentlicht. -
Hi,
Ja, das Wakeword wird geladen. Sollte während deinem Logauszug das Wakeword ausgelöst worden sein? Wenn ja, dann ist das ein Beleg dafür das einfach gar nichts passiert, wenn nein, ist der Log für die Frage nicht passend.
Welches Wakeword hast du denn geladen?Zu deinen MQTT-Topics:
Beide werden exklusiv von Core verwendetet zur Steuerung des Satelliten.- listen: schaltet das Mikrofon ein, wenn Hannah dir eine Frage gestellt hat und deine Antwort hören will. Der Satellit nimmt also alles in den nächsten Sekunden auf und sendet es an Core, wo es den bekannten Pfad durchläuft.
- restart: startet den Satelliten neu. Dabei ist egal, was in der Nachricht steht, jede Nachricht darauf löst den Neustart aus.
Was du mit "ignorieren" meinst, weiß ich nicht. In dem Stack gibt es keine Einstellung dazu.
Wenn dein Satellit andauernd neustartet gibt es dafür zwei Gründe:
- Der Satellit ist einer Panic und wird not-gestartet.
- Der Satellit bekommt über das restart-topic den Befehl dazu
Eine Panic kann ich deinem Logauszug nicht erkennen, viel mehr wurde dein Satellit (in dem Log) gestartet weil du ihm Strom gegeben hast, vorher war er aus.
Das restart-topic ist, wie das listen-topic nicht retained. Das heißt, der MQTT-Broker speichert diese nicht und die Kommunikation findet nur in Echtzeit statt. Das führt bspw. dazu das wenn, während ein Satellit offline ist, eines dieser Topics beschrieben wird, weiß das der Satellit nicht wenn er online kommt und der Broker sagt es ihm nicht.
Sollte also dieses Topic bei dir dauerhaft im mqtt gepublished werden, läuft bei dir was falsch. Ich weiß das der MQTT-Adapterfür ioBroker, wenn er als Broker arbeitet, alle Topics die er verabeitet als Datenpunkt anlegen. Er darf aber nicht die Topics von Hannah aktiv announcen, das ist einzig und alleine die Aufgabe von Core und Satellite. Schau bitte in dein MQTT, wer welches Topic veröffentlicht. -
Danke, das Log war genau das Richtige. Aber es ist kein Absturz: Dein Satellit bekommt direkt nach dem Start den Befehl "restart" und startet deshalb sofort wieder neu. Das wiederholt sich dauernd.
Den Befehl schickt Hannah nicht dauernd. Der MQTT-Adapter von ioBroker hat ihn einmal gespeichert und spielt ihn bei jedem Start wieder ab.
Bitte lösche in ioBroker unter Objekte die beiden Datenpunkte listen und restart von deinem Satelliten hannah-satellite-buero. Dann hört die Schleife auf. Sag mir Bescheid, ob der Satellit danach ruhig bleibt.
Spannend wäre auch ob der Fehler wiederholt auftritt, dann wäre das ein Bugreport für den MQTT-Adapter.
-
Danke, das Log war genau das Richtige. Aber es ist kein Absturz: Dein Satellit bekommt direkt nach dem Start den Befehl "restart" und startet deshalb sofort wieder neu. Das wiederholt sich dauernd.
Den Befehl schickt Hannah nicht dauernd. Der MQTT-Adapter von ioBroker hat ihn einmal gespeichert und spielt ihn bei jedem Start wieder ab.
Bitte lösche in ioBroker unter Objekte die beiden Datenpunkte listen und restart von deinem Satelliten hannah-satellite-buero. Dann hört die Schleife auf. Sag mir Bescheid, ob der Satellit danach ruhig bleibt.
Spannend wäre auch ob der Fehler wiederholt auftritt, dann wäre das ein Bugreport für den MQTT-Adapter.
-
-
Weil das immer noch bei dir im mqtt festhängt:
I (1303) main: Reset-Grund: remote, Neustart #307
-
-
mh. nicht den iobroker mqtt adapter als Broker verwenden? :D
Ich bin grade am schauen wo das Problem bei dem liegt, aber der ist schuld.
-
ja. Mosuqitto klappt. Das läuft auch bei mir.
Alternativ kann man wohl die Option im MQTT-Adapter deaktivieren:

Das hat dann aber möglicherweise andere Effekte auf dich.
Ich habe das grade mal getestet. Zum aktuellen Zeitpunkt kann ich nur abraten den Adapter ioBroker.mqtt als Broker für Hannah zu verwenden. Wenn du meinem vorherigen Ratschlag folgst und den Haken entfernst, bekommt der Satellit gar keine Daten mehr die zuvor gespeichert wurden, also auch bspw. die Hannah-Core-Adresse nicht.
Hintergrund ist, zum aktuellen Zeitpunkt scheint der MQTT-Adapter nicht wie ein richtiger MQTT Broker zu arbeiten. So kennt der bspw. auch die Funktion von retained Topics nicht.
Daher meine eindringliche Empfehlung: Es ist ein anderer MQTT Broker wie bspw. Mosquitto zu nutzen. Ich werde mir mal den ioBroker Adapter anschauen und evtl. einen Fix vorschlagen. Das kann aber einige Zeit dauern.
Das ist auch der Grund, warum dein Satellit dauernd neu gestartet ist: Der Adapter hat den alten 'restart'-Befehl immer wieder abgespielt, obwohl der von Hannah nur ca. 1x pro Woche (oder von dir manuell) gesetzt wird.
-
ja. Mosuqitto klappt. Das läuft auch bei mir.
Alternativ kann man wohl die Option im MQTT-Adapter deaktivieren:

Das hat dann aber möglicherweise andere Effekte auf dich.
Ich habe das grade mal getestet. Zum aktuellen Zeitpunkt kann ich nur abraten den Adapter ioBroker.mqtt als Broker für Hannah zu verwenden. Wenn du meinem vorherigen Ratschlag folgst und den Haken entfernst, bekommt der Satellit gar keine Daten mehr die zuvor gespeichert wurden, also auch bspw. die Hannah-Core-Adresse nicht.
Hintergrund ist, zum aktuellen Zeitpunkt scheint der MQTT-Adapter nicht wie ein richtiger MQTT Broker zu arbeiten. So kennt der bspw. auch die Funktion von retained Topics nicht.
Daher meine eindringliche Empfehlung: Es ist ein anderer MQTT Broker wie bspw. Mosquitto zu nutzen. Ich werde mir mal den ioBroker Adapter anschauen und evtl. einen Fix vorschlagen. Das kann aber einige Zeit dauern.
Das ist auch der Grund, warum dein Satellit dauernd neu gestartet ist: Der Adapter hat den alten 'restart'-Befehl immer wieder abgespielt, obwohl der von Hannah nur ca. 1x pro Woche (oder von dir manuell) gesetzt wird.
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
