SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
237 stars 16 forks source link

CLEXI Server nicht erreichbar #32

Closed markmattern closed 4 years ago

markmattern commented 4 years ago

Hallo, ich versuche gerade den SEPIA Client auf meinem RPI zu installieren. Ich bin dabei diese Anleitung durchgegangen. https://github.com/SEPIA-Framework/sepia-installation-and-setup/tree/dev/sepia-client-installation/rpi

Das Setup ist durchgelaufen und ich kann und ich kann den Control Hub öffnen . Auch der Android Client läuft problemlos. Ich komme leider bei dem Punkt CLEXI nicht weiter. Wo kann man das konfigurieren? Im Control Hub kann ich unter "Client Connections" eingeben was ich will. Ich bekomme immer:

CLEXI error CLEXI connecting ... CLEXI closed. Reason: 1006

Wo und wie kann man diesen Clexi Server konfigurieren? Viele Grüße Mark

Smarthome-Creator commented 4 years ago

@markmattern Hallo, ich hatte am Anfang ähnliche Probleme wie du aber wenn du einmal weißt was du tust ist es später kein Problem mehr.

Grundlegend braucht es aber noch ein paar mehr Informationen um dein Problem einzugrenzen und zu lösen.

Du willst sicher einen Headless Client betreiben? Wie rufst du die Seiten deines Sepia Server auf, mit http:// oder https://? Ist nach dem Setup und dem Reboot bereits das "Ready 4 Setup" zu hören gewesen?

Ich habe mich jetzt selbst ein paar Tage lang damit beschäfftigt kann dir sicher schnell zum Erfolg helfen wenn du die Fragen beantwortest, dann muss Florian nicht alles drei mal schreiben.

Gruß

markmattern commented 4 years ago

Hallo, danke für die Antwort. Wäre super wenn Du helfen könntest. Ja genau, ich möchte den Headless Client nutzen und wahrscheinlich fehlt mir grundsätzlich was. Also den Control Hub rufe ich über http auf http://192.168.178.27:20721/tools/index.html Auch die funktionierende App zum testen verwendet http. Wann soll denn das "Ready 4 Setup" zu hren sein? Habe jetzt am RPI einen Lautsprecher dran und das SEPIA Setup nochmal ausgeführt, aber nichts gehört. Grüße

Smarthome-Creator commented 4 years ago

@markmattern Hallo, soweit klingt das ja schon mal ganz gut. Prüfe mal noch folgende Dinge und wenn das alles i.O. sollte es eigentlich funktionieren.

  1. Wichtig ist dass das install Skript sauber bis zum Ende durchläuft. Wenn dem so ist sollte am Ende dann "Reboot your Pi" oder so ähnlich da stehen. Wenn nach dem Reboot noch kein "Ready 4 Setup" zu hören ist, ist das noch nicht so dramatisch.

  2. Nach erfolgreicher Installation solltest du in deinem Homeverzeichnis dann 2 neue Ordner haben. Clexi und sepia_client.

  3. In dem sepia_client Ordner befindet sich eine setup.sh die du sicher schon ausgeführt hast und wenn nicht dann solltest du das noch machen. Wichtig ist das du bei Hostadresse nur die IP deines Sepia Servers angibst und kein http:// oder sowas davor schreibst. Der Client findet anhand der IP alles nötige von selbst. Wichtig ist hier noch das die Punkte CLEXI-ID und CLEXI-Client-Device-ID zwei unterschiedliche Paar Schuhe sind.

Die Clexi-ID ist quasi der Benutzername mit dem du dich am Clexi Server anmeldest und die Clexi Device ID ist der "Name" deines Clexi Gerätes das du steuern willst.

  1. Starte nun das run Skript von Hand mit: "bash run.sh". Eventuell hörst du dann nach etwa 30 Sekunden bereits "Ready 4 Setup". Um zu prüfen ob läuft was laufen soll öffne eine zweite Konsole und gib dort: "ps ax" ein. Damit bekommst du eine Übersicht der laufenden Prozesse. Prüfe hier ob nginx, clexi und chromium laufen. Wenn ja ist eigentlich schon alles startklar.

  2. Gib nun im Control Hub den Websocket deines "Client-Clexi-Servers" ein. Das sollte in etwa so aussehen: ws://die IP deines Headless Clients:9090/clexi und bei clexi ID wenn du die nicht über die setup.sh geändert hast clexi-123 ein. Wenn der "DOT" grün wird ist dein "Clexi-Client" schonmal sauber am laufen und der nginx tut auch was er soll.

Wenn du bis hier hin alles soweit am laufen hast, sag bescheid und dann kriegen wir den Rest auch noch ans laufen. Letztlich sagt dir das "Ready 4 Setup" eigentlich nur das Clexi den Chromium steuern kann und somit weist du dann auch das alles sicher läuft.

markmattern commented 4 years ago

Hallo, vielen Dank für die Hilfe. Hat mir schonmal sehr geholfen. Jetzt erscheint auch der clexi ordner nach dem install script welcher davor nicht war. Habe einfach alles nochmal installiert. Ich bekomme den Clexi Server aber leider nicht zum starten. Ich sehe aber auch keinen Fehler. Nach dem ps sehe ich nginx und chromium aber kein clexi. Auch wenn ich testweise danach im sepia-client ordner das shutdown.sh ausführe steht folgendes.

sh shutdown.sh Stopping Chromium with SEPIA Stopping Xvfb server It seems no CLEXI server was running

Er startet also nicht.

Smarthome-Creator commented 4 years ago

Hallo,

im clexi Ordner selbst befindet sich eine run.sh. Diese startest du ebenfalls mit "bash run.sh" und führst danach im selben Ordner noch die status.sh aus. Du solltest dann mindestens 2 laufende Clexi Prozesse angezeigt bekommen.

Nginx musst du nicht zusätzlich prüfen, der startet automatisch mit deinem Raspi. Wenn der Clexi gestartet ist versuchst du dich nun vom Control HUB aus zu ihm zu verbinden. Damit weißt du dann erstmal schon ob die Verbindung zum Clexi funktioniert.

Wenn das erfolgreich war, würde ich dann die run.sh aus dem sepia_client Ordner wieder ausführen und mit dem shutdown.sh checken ob er zumindest alles beenden kann.

Wie ich gerade gesehen habe, habe ich auch einen kleinen Fehler in deiner Ausführung gefunden. Du schreibst sh vor den auszuführenden Befehl.

Bitte schreibe hier bei allen bash davor. Also bash run.sh aus dem sepia_client Ordner, dann sollte auch der Clexi sauber mit starten.

Nochmal, benutze bitte bash zum ausführen der scripts. Dies wird auch von Florian so empfohlen.

Versuch es einfach nochmal und sag ob es was bringt. Wir sind der Lösung schon ganz nah.

Gruß

markmattern commented 4 years ago

Hallo, nochmals vielen Dank. Ok ich bin jetzt ein ganzes Stück weiter. Habe jetzt herausgefunden warum der Clexi nicht gestartet ist. Er benötigt den Port 8080 und den hatte ich schon mit Obenhab belegt. Habe jetzt den Openhab auf einen anderen Port gelegt und siehe da... der Clexi startet :) . Jetzt bekomme ich auch endlich das "Ready for setup"

Also viel fehlt hoffentlich nicht mehr

Im Control HUB sieht es auch schon besser aus. Aber leider kommt unter der Adresse ws.... kein grüner Punkt und die Ausgabe:

CLEXI closed. Reason: 1005 CLEXI server says welcome. Info: {"version":"CLEXI Node.js server v0.8.2","xtensions":{"clexi-broadcaster":{"active":true},"clexi-http-events":{"active":true},"ble-beacon-scanner":{"active":true}}} CLEXI connected CLEXI connecting ...

Keine Ahnung warum er jetzt immer gleich wieder mit 1005 schließt. Im clexi Ordner in der settings.json soll als Host schon localhost stehen oder? Das stand nämlich initial nicht da sondern die externe IP des RPI. Damit hat es nicht funktioniert. Grüße

fquirin commented 4 years ago

Habe jetzt herausgefunden warum der Clexi nicht gestartet ist. Er benötigt den Port 8080 und den hatte ich schon mit Obenhab belegt.

Das Problem gab es schon mal. Ich bin ursprünglich davon ausgegangen, dass der SEPIA Client alleine läuft auf dem Pi, allerdings war die Wahl des Ports wohl etwas unglücklich ^^. Du hast es ja schon gelöst aber für alle Fälle gibt es HIER noch einige Infos dazu wie man den CLEXI Port ändern kann.

Im clexi Ordner in der settings.json soll als Host schon localhost stehen oder? Das stand nämlich initial nicht da sondern die externe IP des RPI.

Ja, das ist wichtig, damit der SEPIA Client über 'localhost' vom CLEXI Server geladen wird (sonst gibt es Probleme mit dem 'secure-context' im Browser, sprich das Mikrofon geht nicht etc.). Per DEFAULT sollte das eigentlich auch so sein.

Keine Ahnung warum er jetzt immer gleich wieder mit 1005 schließt.

Ja das ist komisch, denn er schickt bereits das 'welcome event', hat dich also eigentlich akzeptiert und deine 'clexi-id' bestätigt :thinking: Kannst du mal gucken ob in der ~/clexi/log.out ein Fehler steht?

Smarthome-Creator commented 4 years ago

@markmattern Hallo, den 1005 Fehler hatte ich auch. Schau mal bitte in deinem clexi Ordner in die settings.json. Dort gibt es die Zeile: "idIsPassword": false,

Bei dir steht wahrscheinlich true drin. Ändere das in false, starte den Clexi nochmal neu und dann sollte es das gewesen sein. @fquirin

Das scheint wohl ein default Wert zu sein. Vielleicht kannst du das ja noch in deinem install Skript von true auf false ändern.

Gruß

fquirin commented 4 years ago

Das scheint wohl ein default Wert zu sein. Vielleicht kannst du das ja noch in deinem install Skript von true auf false ändern.

true ist default und SOLLTE es auch sein :see_no_evil: . Ohne das lässt der CLEXI Server Verbindungen zu, die die ID nicht kennen. Bei mir funktioniert das auch :thinking: .

Wenn es bei dir und Mark nicht klappt sollten wir lieber den Fehler suchen! ^^.

Ja das ist komisch, denn er schickt bereits das 'welcome event', hat dich also eigentlich akzeptiert und deine 'clexi-id' bestätigt.

Das spricht eigentlich dafür, dass die ID kein Problem ist ... ... eigentlich.

[EDIT] Oh mir fällt gerade was ein! Ich glaube die alte Version vom SEPIA Hub beendet von selbst die Verbindung falls sie keine ID vom Server bekommt. Es könnte sein, dass ich mit dem CLEXI v0.8.2 Update diesen Fehler eingeführt habe ... dann geht es echt nur wenn man die Abfrage vorläufig deaktiviert :facepalm:
Die neue Version ist noch im Dev branch.

[EDIT2] Beim Client selber gibt es den Fehler dann vermutlich auch, doch weil das Install Skript sich den Client noch aus dem dev branch zieht ist es da vermutlich bisher nicht aufgefallen.

markmattern commented 4 years ago

Perfekt! Das war es jetzt läufts 👍 Danke für die Hilfe. Jetzt muss ich nur noch das mit dem Wake Word hinbekommen aber das ist eine andere Geschichte :)

Smarthome-Creator commented 4 years ago

@fquirin Gut das du den Fehler schon gefunden hast, ich hätte gar nicht gewusst wo anfangen hätte suchen zu sollen. Bin schon sehr gespannt auf das nächste Update.

@markmattern Schau mal in den Issue: "diverse Einrichtungsprobleme", vielleicht hilft dir das ja bei deinem Wake Word "Problem".

markmattern commented 4 years ago

Das Wake Work funktioniert schon. Aber ziemliche schlechte Erkenungsrate. Ich muss das Mikrofon immer anbrüllen :D Wollte mich die Tage damit beschäftigen. Hab schon irgendwo gesehen, dass Ihr woanders dazu einen Thread habt.

fquirin commented 4 years ago

In diesem Thread hier wurde das auch diskutiert: https://github.com/SEPIA-Framework/sepia-docs/issues/27 Kannst du noch mal kurz sagen was für ein Mikrofon du nutzt und welche Raspberry das war (2, 3, 4, Zero)?

fquirin commented 4 years ago

Fixed