GithubHelp home page GithubHelp logo

sepia-framework / sepia-docs Goto Github PK

View Code? Open in Web Editor NEW
236.0 9.0 16.0 473 KB

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)

Home Page: https://sepia-framework.github.io/

sepia wiki chatbot vui digital-assistant nlu chatbot-framework voice-assistant virtual-assistant speech-recognition

sepia-docs's Introduction

Welcome to the documentation page for SEPIA

Here you will (hopefully) find everything you need to know to get started with SEPIA.

S.E.P.I.A. Logo

Overview of SEPIA ecosystem (note: some parts are still in the dev branches).
For image icon attributions please check the homepage

Downloads

Wiki, Blog & News

Checkout the Wiki for detailed descriptions: S.E.P.I.A. Framework Wiki
Visit Twitter or Mastodon for the latest news: S.E.P.I.A. Twitter Feed | S.E.P.I.A. Mastodon Feed
Visit the blog for summaries and guides: S.E.P.I.A. Blog

Intro

S.E.P.I.A. is an acronym for: self-hosted, extendable, personal, intelligent assistant. It is a modular, open-source framework equipped with all the required tools to build your own, full-fledged digital voice-assistant, including speech recognition (STT), wake-word detection, text-to-speech (TTS), natural-language-understanding, dialog-management, SDK(s), a cross-platform client app and much more.
The framework consists of several, highly customizable micro-services that work together seamlessly to form the SEPIA Open Assistant. It follows the client-server principle using a lightweight Java server and Elasticsearch DB as "brain" and a Javascript based client that works as smart-speaker, smart-display, mobile assistant app or whatever smart-device you come up with 😃. All components work on Linux, Windows and Mac and have been optimized to even run smoothly on a Raspberry Pi 😌 🤖.
Out-of-the-box SEPIA currently has smart-services for: news, music (radio), timers, alarms, reminders, to-do and shopping lists, smart home (e.g. using open-source tools like openHAB), navigation, places, weather, Wikipedia, web-search, soccer-results (Bundesliga), a bit of small-talk and more. To realize your own ideas you can use tools like the SEPIA SDK and the code editor integrated into the SEPIA Control HUB to build services or write custom HTML widgets 👨‍🔧👩‍🔬!

Architecture

The SEPIA Framework consists of 2 core parts: The SEPIA Client and the Assist-Server.

SEPIA Client: The user interface that handles voice, text or touch interactions and manages the "dialog" with the SEPIA server. Server responses can be presented as text (chat), graphical elements (cards, buttons) and/or sound including speech synthesis (text-to-speech) and music (media-player). The client usually takes care of the speech-recognition (on-device or via SEPIA STT server) to transform voice into text and can even listen to wake-words like Hey SEPIA (thanks to Porcupine by Picovoice). There are clients for the browser, Android, iOS and a DIY version that even works "headless" for example on a Raspberry Pi.

Assist-Server: The "brain" of SEPIA that receives requests from the client via the HTTP REST API and takes care of the natural-language-understanding (intent and NER), conversation flow, smart-service integration (like a to-do list or news service), user-accounts, Text-to-Speech (TTS) and more. The Assist-Server can run on it's own hardware for example on SBCs like a Raspberry Pi 3 or parallel to the client on more powerful systems (RPi4, desktop PC ect.).

Because speech-recognition is a very delicate topic for multiple reasons (privacy, accuracy, performance, control etc.) the SEPIA Framework includes another major component: The Speech-To-Text (STT) server.

SEPIA STT Server: An open-source server for real-time speech-recognition that runs on most systems (x86, ARM), including Raspberry Pi and supports custom, dynamic ASR models (thanks to great tools like Kaldi, Vosk or Zamia speech).

Other notable components of the SEPIA Framework are the Control HUB to manage server, "headless" clients, Smart Home and more, the WebSocket server for multi-channel chats and duplex data transfer, the Teach-Server to store custom commands and a Java SDK to create powerful custom services.

Languages

Currently SEPIA works in German and English with basic support to create custom commands in other common languages. Some services like news and soccer-results are optimized for German meaning you will get an answer in English but might still see a mix of English and German news outlets or soccer results for the Bundesliga. The smart-services are constantly improving though and you can easily edit the list of outlets yourself.

Quick-start (for users)

To use S.E.P.I.A. your personal, digital, open-source voice assistant you need 2 things:

  1. Access to a S.E.P.I.A. server. This can be your own one, running e.g. on a Raspberry Pi or your Windows/Mac PC (see below) or you can find an open one hosted by a friend or a company (Note: we are currently not hosting any public servers).
  2. One of S.E.P.I.A.'s client apps, e.g. the web version: https://sepia-framework.github.io/app/ (hosted on your server as well) or the official Android app

To connect to a custom server simply open the app, change the "hostname" in the log-in screen and restart the app. A typical hostname could be the IP of the server, "raspberrypi.local", "my-server.example.org/sepia" or simply keep "localhost" (for test-servers on the same machine).

Quick-start (for makers)

Basic steps to install the server:

  • Make sure you have Java JDK 8 or 11 installed
  • Download the latest SEPIA-Home bundle from here
  • Extract the zip and run "setup" (.bat for Windows, .sh for Linux/Mac)
  • Optional (advanced users): If you need a reverse-proxy install Nginx and use the included SEPIA configuration
  • Start the server with one of the "run-sepia"-scripts and check out the links mentioned at the end of the process
  • Use any web browser to open the SEPIA Control-HUB (the 'tools' link) and create a new user
  • Continue with "Quick-start (for users)" above :-)

Instructions and an (almost) automatic installation script for Raspberry Pi can be found -HERE-

Instructions for the installation of the S.E.P.I.A. server stack on Linux, Windows or Mac can be found -HERE-

Questions and bug-reports

If you have any questions, need help or want to report a bug please go here or start a discussion here.

API keys for services

Some services integrated in SEPIA require an API key to run properly (e.g. navigation/reverse geo-coding). Find out how to get them (for free) here.

Final notes

If you run your own server and decide to open it to the public or to your friends please make sure it is properly secured and inform the users about your data privacy policy since you are operating a database with potentially sensitive, personal information.

sepia-docs's People

Contributors

fquirin avatar sepia-assistant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sepia-docs's Issues

Custom "Hey Sepia" confirmation sound

When the "Hey Sepia" function is activated the sepia client confirms listening by a short sound.

It would be very cool to be able to chose a custom sound file for that confirmation. Personally I would love to choose the Star Trek Computer confirmation sound. :)

Alternatively or meanwhile, if we could know where the used file is located, we can easily change it manually.

After first Setup, Reboot machine and SEPIA doesn't start via run-sepia

Hello Florian,

sorry for disturbing again, but I have a little problem.
First I installed SEPIA on my Windows 2016 Server.
Everything went really well and easy. Than I had to restart the machine.
After restart I opend "cmd" with admin, switched to the SEPIA directory and run-sepia.
Check of Elasticserver Fail, than Elasticserver started automaticly.
After that I only get FAIL

image

than I checked the Logs and get these errors:

sepia-assist-server:

2020-02-18 19:18:54 ERROR - TRACE: net.b07z.sepia.server.assist.server.Setup.testAndUpdateElasticsearchMapping(Setup.java:359)
2020-02-18 19:18:54 ERROR - TRACE: net.b07z.sepia.server.assist.server.Config.testDatabases(Config.java:356)
2020-02-18 19:18:54 ERROR - TRACE: net.b07z.sepia.server.assist.server.Start.main(Start.java:366)

sepia-teach-server:

2020-02-18 19:18:59 ERROR - Could not reach AssistAPI at http://localhost:20721/
Exception in thread "main" java.lang.RuntimeException: Core-tools are NOT set properly! AssistAPI could not be reached!
at net.b07z.sepia.server.teach.server.Start.main(Start.java:128)

Could you please tell me what do I do wrong?

SSL Issues

SSL Not working after following the steps mentioned using letsencrypt.
sepia-errors
Getting above error after restarting service by restart-sepia.sh after performing mentioned dns and ssl steps.
Even after this error, http page is opening but there is no https.
Setting up on Ubuntu 16.
Please help.

CLEXI Server nicht erreichbar

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

Sample issue: No answers from navigation requests

Describe the bug
After a fresh SEPIA-Home installation I'm trying to ask SEPIA for directions but always get the answer "I can't find the address" or "there has been an error".

SEPIA client and server versions

  • Client OS: Chrome-Browser on Windows 8.1
  • SEPIA-Client version: v0.15.2
  • SEPIA-Server version: SEPIA-Home v2.1.3

To Reproduce
Steps to reproduce the behavior:

  1. Install and setup fresh SEPIA-Home server
  2. Connect your client to your server
  3. Login to your client, activate GPS and ask "show me the way from San Francisco to Los Angeles"

Expected behavior
I get a proper answer and a results card that opens maps and shows the way.

Additional context
GPS is switched ON in client settings.

SEPIA headless client not connecting alongside server on Rpi4

I started a new issue, as the feature request might not be the right place for this.

I am running SEPIA server v2.4.1b on a Rpi4 4GB.

I installed as described the headless client and was able to start the server before the client, but I am not able to "configure the client via remote connection". When I run the run.sh script for the client, I can hear his message "...I'll be right there. Just a second.". But then nothing happens. I waited the whole night. The ssh terminal is waiting with this output:

Starting CLEXI server nohup: appending output to 'nohup.out' RPi model: Raspberry Pi 4 Model B Rev 1.1 - Is Pi4: 1 Running SEPIA-Client in 'headless Pi4' mode. Use SEPIA Control-HUB to connect and control via remote terminal, default URL is: ws://[IP]:9090/clexi

The Client Connections Page in the Sepia Control Hub gives me:

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

when I try to connect.

When I run the shutdown script ~/sepia-client/shutdown.sh I get:

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

I have no idea what went wrong. Maybe it is useful to know, I did not change any of the standard variables during setup. And I did no Nginx installation with the main server.

Enable Firefox Deep Speech

Is your feature request related to a problem? Please describe.

One of the main reasons to use SEPIA over Alexa ode Google Home, is that I don't want these companies to listen to every word I say.
Although I can Install the SEPIA TTS Server and use that, the performance and accuracy is far off, form the native google one.

Luckily Mozilla is working on a Tensorflow based voice recognition "Deep Speech" and has already released some initial data.

Describe the solution you'd like
Enable Deep Speech for SEPIA.

Describe alternatives you've considered

Additional context
https://developer.mozilla.org/de/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API

openHAB connection not working

It seems that the openHAB connection is not working properly.

The "lights on" command returns:

Currently I'm not connected to any smart home system

  • Getting the devices via Menu -> Smart Home -> GET DEVICES works
  • The user is assigned to the roles "user, smarthomeguest"
  • I entered the IP for the openhab_host setting in ~/SEPIA/sepia-assist-server/Xtensions/sepiassist.custom.properties (Even though it is legacy?!)
  • To be sure I did also enter it in smarthome_hub_host and put openHAB for the
    smarthome_hub_name

SEPIA Server: Raspberry PI 3 B with Raspbian 9 (stretch)

Sepia in Docker with openhab integration

Hello,

I wanted to get an offline voice assistant that's how I got in touch with SEPIA.
As far as I saw - amazing work and a great framework :-)
My current installation is a docker one, based on your Dockerfile. So far so good. My current problem is that I'm not able to connect to my openhab2 installation. After adding the smarthome_hub_name and smarthome_hub_host address the get devices function does not succeed. If I do the same in a normal installation everything works fine.
My docker-compose.yml file looks like this and forwards all ports between 20721 - 20726.

version: "3"

services:
  sepia:
    container_name: sepia
    image: jogi/sepia:latest
    hostname: sepia
    domainname: local
    ports:
        - 20721:20721
        - 20722:20722
        - 20723:20723
        - 20724:20724
        - 20725:20725
        - 20726:20726
    volumes:
      - './sepia-share/SEPIA:/home/admin/SEPIA'
    restart: always

Do I miss something here? Do I have to add a callback address somewhere as the SEPIA source IP will not work due to the docker container setup?

Cheers
Jörg

Add this help-page to the SEPIA cross-platform client

Is your feature request related to a problem? Please describe.
Not related. This help page should be easier to find!

Describe the solution you'd like
Point to this help page somewhere inside the (cross-platform) SEPIA client.

TTS-Error vom Client

Hi zusammen,
mittlerweile bin ich schon ziemlich weit, komme aber aktuell nicht weiter.
Nach einem Neustart höre ich "Hello friend ...." und dann noch "Readdy for setup".
Ich kann den Client auch mit "Hey Sepia" aufwecken, aber selbst bei einem einfachen
Wort wie "Hallo" kommt keine Antwort. In den Sepia client connections erscheint:

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_error","msg":"unknown"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"hello"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"hello"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"listening"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}}
Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}}

Zudem scheint der Client zu versuchen den gesprochenen Text als englisch zu interpretieren. Zumindest sieht es phonetisch so aus. Bei einem Satz wie:
"Wohnzimmer Licht an" macht der Sepia Client daraus:

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"won't see my list and"}}}
Aus "Wohnzimmer" wird "won't see my" / aus "Licht" wird "list" / und aus "an" wird "and"
Und folgend natürlich der tts-error (s.o.)

Achja, ...
bei "What time is it" ist im output auch "what time is it", leider aber auch der tts-error.

Hat jemand eine Idee? Vllt kann ich ja irgendwo die Sprache auf "deutsch" festtackern :-) und der tts-error verschwindet dann auch (unwahrscheinlich, aber wie das so ist mit der Hoffnung ;-).

sepia-client auf rpi4 - Fragen und Einrichtungsprobleme [DE]

Bei der Einrichtung des wakeword und des sepia-client auf dem RPi4 mit einem Respeaker4 Mic habe ich leider folgende Schwierigkeiten:


Prolog

Prolog zu unserem Austausch gestern - was ich bisher durchgeführt und eingerichtet habe: Ich nutze mittlerweile die SEPIA Basis/Web-UI nicht mehr auf dem RPi4, sondern auf einem Docker-Host. Das Webpanel wird durch einen nginx-Proxy
von http://dock.vx:20726/sepia/assist/tools/index.html auf https://sepia.dock.vx/sepia/assist/tools/index.html umgeleitet. Dadurch habe ich valides HTTPs, was zur Einrichtung vom wakeword scheinbar wichtig war. Das Wakeword habe ich nicht zum Laufen bekommen, den Host werde ich in Docker behalten.
sepia/stt-server:beta2.1 läuft ebenfalls in einem Container und die Anbindung hat gestern abend eigentlich funktioniert - derzeit sind die Inputs unter /sepia/assist/tools/index.html#!speech-recognition allerdings leer, evtl. muss ich das erneut anbinden - sollte aber funktionieren.

Details

Als SEPIA selbst noch auf dem RPi4 lag, war alles per HTTP - ich bekam beim Anbinden des wakeword auf dem selben Host folgende Meldung:

requests.exceptions.SSLError: HTTPSConnectionPool(host='homenode01.fritz.box', port=20726): Max retries exceeded with url: /sepia/as                sist/authentication (Caused by SSLError(SSLError(1, u'[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:727)'),))

Später bei der Einrichtung des wakeword kam ich trotz trusted CA nicht um den Fehler herum:

requests.exceptions.SSLError: HTTPSConnectionPool(host='sepia.dock.vx', port=443): Max retries exceeded with url: /sepia/assist/authentication (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED

Daraufhin habe ich File "/home/pi/SEPIA/sepia-wakeword-tools/Porcupine/sepia/account.py", line 60 bearbeitet, dirty hack:
response = requests.request("POST", url, json=payload, headers=headers)
--> response = requests.request("POST", url, verify=False, json=payload, headers=headers)

Die Einrichtung des wakeword scheiterte letztendlich mit der Erkenntnis, dass es keine Porcupine-Lib für den Pi4 in dem Package gibt.
Exception: Cannot autodetect library. Please use e.g.: --library_path="porcupine/lib/raspberry-pi/arm11/libpv_porcupine.so" (Pi Zero with ARM11 CPU).

Danach habe ich das wakeword auf einem pi zero w installiert, da dort ja die arm11-lib greifen sollte.

Leider scheiterte ich letztendlich an:

[ERROR] keyword file has incorrect format or belongs to a different platform
[ERROR] loading keyword file failed with 'INVALID_ARGUMENT'

image


Nachdem ich also mit dem Wakeword keinen Erfolg hatte, habe ich die Android-App ausprobiert.
In der App komme ich leider weder mit dem admin-User, noch mit einem User mit den Gruppen "user", "tester", "translator", "developer", "seniordev", "chiefdev" dazu, einen Befehl abzusenden:
Sorry <user_name>, aber du brauchst erst eine Erlaubnis, um diesen Smart Home Service zu nutzen

Also habe ich weiter gelesen und fand die SEPIA Client Installation - Raspberry Pi und versuchte mich an der Anbindung.

Ausgehend von meiner HTTPS-Route auf SEPIA konnte ich den CLEXI-Server vom RPi-Client nicht anbinden, da unsichere WebSocket-Verbindungen nicht von einer HTTPS-Seite ausgehen dürfen, während ich über die zusätzlich verfügbare HTTP-Route zu meinem Container erfolgreich eine Verbindung zum WebSocket herstellen konnte. Das wss-Protokoll ist scheinbar nicht unterstützt, sodass ich mit HTTPS keine Verbindung aufbauen kann.

Screenshots

image

image

Die Anbindung des Client endet in diesem Moment leider mit folgender Situation:
Egal, welche Art der Authentifizierung ich probiere (wobei ich denke, uid1234 ist das richtige user-pattern), erhalte ich die Antwort loginFail.

call login user uid1011 password asdasdasd
call login user 1011 password asdasdasd
call login user [email protected] password asdasdasd

Laut doc

You should see a "login successful" message in the terminal. If not you can use the command call ping to see if the client can reach the SEPIA server. Check your "hostname" settings from the previous step (Client Setup) if ping fails
Also habe ich call ping ausgeführt, erhalte daraufhin leider einen 404, den ich via curl vom selben RPi4 nicht nachstellen kann. Logs habe ich leider bisher nicht gefunden, dass ich mehr Auskunft geben kann.

Meldung von SEPIA auf call ping

Broadcaster event: {"broadcast":{"client":"node1_chrome_app_v0.21.0","deviceId":"node1","ping-result":{"adr":"https://sepia.dock.vx/sepia/chat/ping","status":404,"statusText":"error"}}}
Broadcaster response: "sent"
Broadcaster event: {"broadcast":{"name":"sepia-client","data":{"deviceId":"node1","call":"ping"}}}

Manueller curl call auf den Endpunkt

curl https://sepia.dock.vx/sepia/chat/ping
{"result":"success","server":"SEPIA-Websocket-Server"}

SEPIA client and server versions

  • Client OS: Chrome80@W10x64 | SEPIA0.21.0@Android10 | RPi4@Buster | RPiZeroW@Buster
  • SEPIA-Client version: Current dev Branch -> sepia-client auf RPi4
  • SEPIA-Server version: sepia-assist-v2.4.2 & sepia-core-tools-v2.2.6 (Gestern von dir bereitgestellt, nun in Docker)

Um es noch mal kurz zu fassen, brauche ich gerade ein paar Richtungsweisungen, wie ich am Besten das Wakeword und die Spracheingabe angebunden bekomme - bestenfalls auf dem RPi4. Wenn ich die Android-App ebenfalls zum Laufen bekomme, wäre das super.

Ich danke Dir vielmals!

Keine Clexi-Verbindung zum Client möglich

Hallo zusammen,
wie sollte es sein, ich habe ein Problem :-) Ich bekomme keine Verbindung vom Hub zu Client hin.
Mein bisheriger Ablauf:

  • auf dem Raspi 2B alles neu installiert
    (Raspbian, Respeaker 4-Mic und den Client)
  • alle nötigen Parameter eingestellt, den Rest
    auf default gelassen (z.B. clexi-123, oder device = o1, ...)

In clexi/settings.json den Eintrag "ble-beacon-scanner" entfernt und in
www/sepia/settings.js den Eintrag "useBluetoothBeacons" auf false gesetzt.

Nach dem Neustart komme ich bis zum "Ready4Setup". Soweit scheint auch alles zu laufen.
Wenn ich mich vom Hub über die Client Connections Seite verbinden möchte,
klappt das nicht wirklich. Er verbindet sich kurz und dann bin ich auch schon wieder
disconnected mit folgender Meldung:

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}}}
CLEXI connected
CLEXI connecting ...

Auch nach Änderung des Ports überall auf 7070 ändert sich nichts

  • ~/clexi/www/sepia/settings.js look for: "clexiSocketURI"
  • ~/clexi/settings.json look for: "port"
  • /etc/nginx/sites-enabled/sepia-client-nginx.conf
    und löschen des Chromium Ordner, 2-fachem Neustart
    kommt keine Besserung/Verbindung zustande.
    Es bleibt beim connecten und folgendem Abbruch mit Fehler 1005.
    Ich hab's im Gefühl, das kann nichts großes sein. Ich komm nur nicht drauf
    bzw. was mache ich falsch/vergesse ich?

Es sind 2 Raspi's
Der Hub läuft auf 192.168.0.10 und der Client auf 192.168.0.20
grafik

Ach ja,...

Hier das Clexi log.out (sieht eigentlich gut aus)

Server with ID 'clexi-123' running at: http://127.0.0.1:7070
Hostname: localhost - SSL: false
CLEXI Xtensions loaded: 2

Personal wake word?

Hi there,
I wanted to ask if it is possible to create your own wake word or if this is planned for the future?

Best wishes

Zamia Speech on Raspberry Pi?

Hi there,
I wanted to set up the STT server and encountered the following problems:
Problem 1, the Docker image is only for Linux / AMD64. So far so good.

The custom installation fails because Zamia does not deliver the current key for its package sources.
I tried the Debian and Raspberry packet sources. Both end up with the same problem.
I would like to install everything on just one Raspi and Zamia also offers the possibility of a Raspi installation.

And now to my question ... is there a current way to install Zamia on the Raspi?
Excuse my bad english. ;-)

I can only say it again and again, great project that you made here.

gzip / FHEM Character Encoding bei httpGet: Umlaute brechen JSON

Hi Florian, danke für ein bislang sehr vielversprechend aussehendes, gut strukturiertes System.

Ich baue das ganze gerade auf einem RPi4 lokal nach und möchte es an meine FHEM Instanz anbinden.

Über den Stolperstein, dass mein am FHEM-Server befindliches mit eigener CA gesignetes Zertifikat nicht im Truststore der JVM war, bin ich mit folgenden Commands schon selbstständig gekommen -evtl gibts hier aber auch die Möglichkeit für ein ignore-flag, allerdings tun mir die 2 Commands nicht weiter weh:

openssl x509 -in <(openssl s_client -connect home.vx:443 -prexit 2>/dev/null) -out ~/homevx.crt
sudo keytool -importcert -file ~/homevx.crt -alias homevx -keystore "/usr/lib/jvm/java-11-openjdk-armhf/lib/security/cacerts" -storepass changeit

SEPIA client and server versions

  • SEPIA-Server version: sepia-assist-v2.4.1 & sepia-core-tools-v2.2.5

To Reproduce
Leider nun ein Problem, das ich glaube ich nicht selbst fixen oder umgehen kann:
Nach der Registration von Sepia an FHEM hole ich die Geräteliste über die UI:

Screenshot

image

sepia-assist-server/log.out zeigt folgende Fehlermeldung:

2020-03-19 18:51:47 ERROR - FHEM - getDevices FAILED with msg.: {"code":"500","error":"result could not be parsed","HTTP_REST_SUCCESS":false}

Das darüber geloggte JSON zeigt in VS Code eingefügt etliche invalide Stellen, man sieht, dass Umlaute falsch dargestellt werden:

Screenshot

image

Andere Stellen bringe ich nicht mit dem Encoding in Verbindung, verstehe es aber einfach nicht, warum plötzlich mitten im JSON wichtige Steuerzeichen fehlen würden.

Screenshot

image

Manuelle Aufrufe, selbst ohne Content-Type Header via Postman abgesendet, bilden alle ein valides JSON ab.

Screenshot

image

Expected behavior
Ich würde erwarten, dass public Map<String, SmartHomeDevice> getDevices() beim Aufruf von JSONObject result = httpGET(url); ein valides, parsbares JSON-Array erhält, identisch zur Response, wenn ich "zu Fuß" im Browser oder via Postman den selben Endpunkt von FHEM aufrufe ( https://home.vx/fhem?cmd=jsonlist2&XHR=1 )

Clexi startet nicht auf dem Client

Hi zusammen,

vielleicht hat ja jemand eine Lösung, wie ich den Clexi auf dem Client zum laufen bekomme.
Stand bei mir ist:
Raspi mit Buster neu installiert.
Respeaker 4-Mic installiert
Sepia Client installiert

Während der Installation konnte ich keine Fehler sehen, aber :-)
im Clexi/log.out steht:

Server with ID 'clexi-123' running at: http://127.0.0.1:8080
Hostname: localhost - SSL: false
CLEXI Xtensions loaded: 3
/home/joerg/clexi/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100
    this._deviceId = this._socket.bindRaw(deviceId);
                                  ^

Error: ENODEV, No such device
    at Hci.init (/home/joerg/clexi/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35)
    at NobleBindings.init (/home/joerg/clexi/node_modules/@abandonware/noble/lib/hci-socket/bindings$
    at process.nextTick (/home/joerg/clexi/node_modules/@abandonware/noble/lib/noble.js:60:24)
    at process._tickCallback (internal/process/next_tick.js:61:11)

Ich vermute mal, es liegt am Raspi. Ist ein Raspi 2B+ und der hat kein Bluetooth.
Brauche ich auch nicht, nur weiß ich nicht, wie ich das umgehe oder abschalte.
Man könnte natürlich auch im Installationsscript den Fehler abfangen ;-)
Kann natürlich auch ein anderes Problem sein.
Wäre echt klasse, wenn jemand eine Lösung hat. Ich komme sonst nicht weiter.

Anleitung/Vorschlag: MQTT-Service an Node Red anbinden

Hallo zusammen,
ich habe mal eine Anleitung geschrieben, wie ich über den MQTT-Service eine Anbindung an Node Red hinbekomme. Ich finde die Lösung eigentlich ganz gut weil:

  1. Ich definiere meine Geräte in Node Red (Lavalampe, Vitrine, ...)
  2. Kurze Befehle möglich ("mqtt schalte die Lavalampe ein.", also kein "mqtt schalte das Licht der Lavalampe im Wohnzimmer ein" :-)
  3. Ich kann mit einem Satz mehrere Geräte ein-/ausschalten ("mqtt schalte die Lavalampe, die Vitrine und die Leselampe ein"). Alle 3 Geräte werden dann eingeschaltet. Steht alles im Word-Dokument mit vielen Bildchen ;-)

Hier das Word-Dokument:
Anleitung für die Anbindung über MQTT an Node Red.docx

Can not change device type

Hello,

thank you for your wonderful work!

I was able to set up sepia to run along with openhab. I registered sepia within the smarthome tab after saving the openhab IP within the config tab. I am able to load my devices and I can switch them on and off manually BUT unfortunately when I am trying to change the device type or room I get this error, although (as mentioned) I already pressed the 'REGISTER SEPIA' button and it was confirmed by the messagebox:

Smart home item: zway_zwayDevice__***2_2_switchPowerOutlet_ZWayVDev_zway__*_37, FAILED to change 'sepia-type' to: light

I would be very thankful for your advices.

Trigger sentence and custom Parameters

Hello,

I'm trying to write my first skill.

But, I can't seem to find out how you managed to get around the question for the reservation name in the restaurant reservation example. If I try something similar, with the room name for example, I always need to answer the defined question. Or to be more specific:

I'd like to reserve a table at Luigis for tomorrow at 6 p.m. for 2 persons on the name SEPIA.

Will set all parameters in the Restaurant Example. No further questions asked.

Hello Livingroom

In the code below will ask:

What is the name of the room?

And then accept anything. So it seems I'm missing something... or am I looking at the wrong place?

Could you nudge me in the right direction?

Thanks in advance

package net.b07z.sepia.sdk.services.uid1007;

import java.util.TreeSet;
import org.json.simple.JSONObject;
import net.b07z.sepia.server.assist.answers.ServiceAnswers;
import net.b07z.sepia.server.assist.assistant.LANGUAGES;
import net.b07z.sepia.server.assist.data.Parameter;
import net.b07z.sepia.server.assist.interpreters.NluResult;
import net.b07z.sepia.server.assist.interpreters.NluTools;
import net.b07z.sepia.server.assist.interviews.InterviewData;
import net.b07z.sepia.server.assist.parameters.CustomParameter;
import net.b07z.sepia.server.assist.services.ServiceBuilder;
import net.b07z.sepia.server.assist.services.ServiceInfo;
import net.b07z.sepia.server.assist.services.ServiceInterface;
import net.b07z.sepia.server.assist.services.ServiceResult;
import net.b07z.sepia.server.assist.services.ServiceInfo.Content;
import net.b07z.sepia.server.assist.services.ServiceInfo.Type;
import net.b07z.sepia.server.core.data.Language;
import net.b07z.sepia.server.core.tools.Debugger;
import net.b07z.sepia.server.core.tools.JSON;
import net.b07z.sepia.server.core.tools.Sdk;

public class HelloWorld_1Param implements ServiceInterface{
	
	//Command name
	private static final String CMD_NAME = "hello_world_1Param";				//Name tag of your service (will be combined with userId to be unique)
	//Answers used:
	private static final String successAnswer = ServiceAnswers.ANS_PREFIX + "hello_success_0a";
	private static final String okAnswer = "default_not_possible_0a";	//service ran properly but can't generate desired result (e.g. a search term was not found)
	private static final String failAnswer = "error_0a";				//fallback if service or some part of it crashed
	private static final String askRoomName = ServiceAnswers.ANS_PREFIX + "hello_ask_room_name_1a";
	
	
	//Define some sentences for testing:
	
	@Override
	public TreeSet<String> getSampleSentences(String lang){
		TreeSet<String> samples = new TreeSet<>();
		//GERMAN
		if (lang.equals(Language.DE.toValue())){
			samples.add("Hallo Wohnzimmer");
			
		//OTHER
		}else{
			samples.add("Hello livingroom");
		}
		return samples;
	}
	
	@Override
	public ServiceAnswers getAnswersPool(String language) {
		ServiceAnswers answerPool = new ServiceAnswers(language);
		
		//Build English answers
		if (language.equals(LANGUAGES.EN)){
			answerPool
				.addAnswer(successAnswer, 0, "<1> says: Hello.")
				.addAnswer(askRoomName, 0, "What is the name of the room?")	
				;
			return answerPool;
		}else if (language.equals(LANGUAGES.DE)){
			answerPool
				.addAnswer(successAnswer, 0, "<1> sagt: Hallo.")
				.addAnswer(askRoomName, 0, "Wie lautet der Name des Raums?")	
			;
			return answerPool;
		} else {
			return null;
		}
	}
	
	//Basic service setup:
	


	@Override
	public ServiceInfo getInfo(String language) {
		//Type of service (for descriptions, choose what you think fits best)
		ServiceInfo info = new ServiceInfo(Type.plain, Content.data, false);
		
		//Should be available publicly or only for the developer? Set this when you are done with testing and want to release
		//info.makePublic();
		
		//Command
		info.setIntendedCommand(Sdk.getMyCommandName(this, CMD_NAME));
		
		//Direct-match trigger sentences in different languages:
		String DE = Language.DE.toValue();
		info.addCustomTriggerSentence("Hallo Wohnzimmer", DE);
		
		String EN = Language.EN.toValue();
		info.addCustomTriggerSentence("Hello livingroom", EN);
		
		
		//Parameters:
		
		Parameter p1 = new Parameter(new RoomName())
				.setRequired(true)
				.setQuestion(askRoomName);
		
		info.addParameter(p1);
		
		//Answers (these are the default answers, you can trigger a custom answer at any point in the module with api.setCustomAnswer(..)):
		info.addSuccessAnswer(successAnswer)
			.addFailAnswer(failAnswer)
			.addOkayAnswer(okAnswer);
		
		info.addAnswerParameters("room_name");
		
		return info;
	}
	
	@Override
	public ServiceResult getResult(NluResult nluResult) {
		//initialize result
		ServiceBuilder api = new ServiceBuilder(nluResult, 
		getInfoFreshOrCache(nluResult.input, this.getClass().getCanonicalName()));
		
		//get required parameters
		Parameter roomNameParameter = nluResult.getRequiredParameter(RoomName.class.getName());
		String roomName = roomNameParameter.getValueAsString();

		api.resultInfoPut("room_name", roomName);

		//all good
		api.setStatusSuccess();
		
		//build the API_Result
		ServiceResult result = api.buildResult();
		return result;
	}

	/**
	 * Parameter handler that tries to extract a room name.
	 */
	public static class RoomName extends CustomParameter {

		@Override
		public String extract(String input) {
			String extracted = "";
			System.out.println("input: " + input); 			
			//English
			if (this.language.equals(LANGUAGES.EN)){
				if (input.contains("Livingroom")) {
					extracted = "livingroom";	
				}
				if (input.contains("Study")) {
					extracted = "studyroom";	
				}
			//Other languages
			}else if (this.language.equals(LANGUAGES.DE)){
				if (input.contains("Wohnzimmer")) {
					extracted = "livingroom";
					
				}
				if (input.contains("Arbeitszimmer")) {
					extracted = "studyroom";
					
				}
			}
			
			Debugger.println("Extension: extacted from : " + input, 2);
			return extracted;
		}

		@Override
		public String build(String input){
			//anything extracted?
			if (input.isEmpty()){
				return "";
			}else{
				//build result with entry for field "VALUE"
				JSONObject itemResultJSON = JSON.make(InterviewData.VALUE, input);
				this.buildSuccess = true;
				return itemResultJSON.toJSONString();
			}
		}		
	}

}

Cannot change user roles

Hi there,
first of all I want to congratulate you on this great project. Great job so far.
I wanted to add the role smarthome guest to a user, but unfortunately that is not possible.
You write in the wiki that you should check the field ´Overwrite Roles´, but unfortunately that doesn't exist. :-(
I can assign roles but then all core roles are gone or I can't overwrite them. You can see it in the picture.
Excuse my english, it's not the best.
core roles
no overwrite roles field

Best wishes

Login failed! Sorry, but it seems the server does not answer :-(

Hello Guys,

first of all thanks for your awsome work!

I am pretty new in working with Linux, Raspbian and espacially sepia.
I want to try to setup an open source voice assistant to control my openhab items via voice command.

So I started to setup Raspbian, get the ReSpeaker 2-Mics Pi HAT running, and than used the quick guide to start setting up SEPIA. In my opinion all went through easy, so I configured Admin Password and connected to the tools Page.
After that, I set the connection to my openhab server.
After completed, I was able to see all my items on openhab an it was possible to switch my lights by klicking on the symbol.
Than I created an new user "[email protected]" and pushed it into the whitelist.

Now here I have some problems.
When I got to the http://sepia:20721/app/index.html Website and type my created user an password, I get this massage: Login failed! Sorry, but it seems the server does not answer :-(

Can anyone help me? What did I do wrong?

Using SEPIA with OpenAuto

Hello,

Do you think SEPIA would work with OpenAuto Pro (https://bluewavestudio.io/index.php/our-products/2-openauto-pro), which includes Raspbian and some custom car-oriented software?

I'm a noob looking for a head unit with offline voice control (I'm most likely not the only one!) and SEPIA seems perfect for this. I saw your instructions on how to create a scenario for playing a music playlist on Windows from an Android client but I'm not sure about applying them to my just one host running Raspbian.

Any pointers or help you can provide will be greatly appreciated!
Thanks.

Support for more languages

Is your feature request related to a problem? Please describe.
There is currently no obvious way to support more languages. SEPIA only works with English and German.

Describe the solution you'd like
I would like it to support more languages.

Describe alternatives you've considered
A good starting point would be to write some documentation about how to contribute and extend language support for more languages.

Additional context
I would like to help with support for the Greek language.

iOS App?

Hallo,

eigentlich nur eine ganz kurze Frage. Gibt es Sepia eigentlich für iOS? Ich habe zwar in deiner Dokumentation was davon gelesen, kann Sepia aber nicht im App Store finden.

Gruß

Docker | error setting up Self-Signed Cert

Describe the bug
When SEPIA is Set-Up via Docker and Self-Signed Cert the script will copy the Ngnix Config to /etc/nginx/sites-enabled/
this folder is non-permanent so every reboot the SSL config gets wiped

SEPIA client and server versions

  • Client OS: any
  • SEPIA-Client version: any
  • SEPIA-Server version: Docker: sepia/home:v2.4.1

To Reproduce
Steps to reproduce the behavior:

  1. Setup Sepia via Docker (e.g. docker-compose.yml)
    `
    version: '3'

services:
sepia:
image: sepia/home:v2.4.1
ports:
- 20726:20726
volumes:
- './sepia-home-share:/home/admin/SEPIA'
restart: unless-stopped
`

  1. Create basic config
  2. Go to Commandline
  3. Setup SSL via ./setup-nginx.sh
  4. Clear all config
  5. Generate self signed certificate with any details
  6. shut down Container
  7. start container
  8. check /etc/nginx/sites-enabled/

Expected behavior
Persistent Changes in Webserverconfiguration
Additional context
maybe linking the nginx config folder to the sites-available in the persistent folder.

#edit: The Service runs in Docker on Debian 9 with no additional WAF

Kann mich nicht anmelden

Mein Problem ist, dass ich mich nicht bei SEPIA anmelden kann...
Das Hostsystem ist ein Debian 10 Buster und Java 9...
Der Server ist erreichbar aber wenn ich mich mit "[email protected]" und dem korrekten Passwort anmelde, kommt folgende Nachricht: "Login fehlgeschlagen! - Das Problem könnte der Server sein."

Das ist schon meine zweites Problem innerhalb eines Tages aber ich weiß nicht weiter...

Sending Streams to DMR (Digital Media Renderer)

It is a nice feature of Sepia to be able to start the stream of a radio station or to start a playlist with the app from/on your mobile. But having several DMR in the house it would even be nicer to start a stream to one of these devices like "Spiele Radio21 in der Küche" ("play Radio21 in the kitchen") whereas "kitchen" should be the DMR (in my case a Raumfeld one) in the kitchen. For the future, thinking about some headless devices with microphone arrays in the house this would be very much appreciated, too.

Perhaps there may be a solution using PulseAudio on the Sepia Server.

Sorry <user> you need permission to use this smarthome service

Sorry for the bad english in the titel and the text all over.
I just tried to install and run SEPIA Framework with an Android-Client which worked fine at first.
The connection to my fhem-server seems to work fine as well, I can toggle devices via the HTTP Client and the admin login.
I added a new user and gave him the smarthomeguest and the smarthomeadmin roles.

If I try to use the Android-Client with my new user I get the Answer:
"du brauchst erst eine Erlaubnis um diesen Smart-Home-Service zu nutzen"

I am using the version v2.4.1b

Only hint I found in the sepia-websocket-server-java is that my user seemingly only has user permission. The web-interface tells me that my user has the smarthomeguest and smarthomeadmin roles ??

SmartHomeHub issue with FHEM

trying to "register sepia" leads to

{
"result": "fail",
"error": "500 internal error",
"info": "2020-02-16 23:56:05 WARNING - URLBuilder.java / getString() - Failed to build URL: [Ljava.lang.String;@b81fd8"
}

How to edit the list of known radio stations best?

Hi,

Sepia knows some radio stations, which is a nice feature. Unfortunately my preferred stations are not in the bouquet. What is the best method to add stations to the list/remove unwanted stations?

I was able to add a station by teaching "Spiele Radio21" with "opening music stream" and the URL of the mp3 stream of the station found on http://fmlist.org" Is this the right/official way? What would you suggest? And how to delete unwanted stations, so that there is more "evidence" which station is meant, as radio stations often sound quite the same?

Beginner Question: How to start Speech Recognition?

Woh, what a great project! And the first time something could be installed on a Raspberry without lots of errors and problems. ;-) Respect!

But how to start Speech Recognition? I have completed the installation and setup as demanded for a raspberry on a Raspberry 3b (fresh install with latest Raspian light, deactivated wifi and BT), installed the android app, configured my browser (new Edge with Chromium Engine on Windows 10) to accept unsecure connections to the servers, can run the "Hey SEPIA"-Test on the phone and in the browser successfully (on the phone it works just once, then has to be restarted), can chat on both clients via text input, but there is absolutely no reaction on speech input. I can tip the microphone or try "Hey Sepia", but nothing happens on both clients. The ASR engine is set to "Nativ", there is no ARS server adress in the field for a custom speech recognition server, so everything seems to be alright. Here: https://smarthome-training.com/de/snips-alternative-lokale-sprachsteuerung-mit-sepia-und-openhab/ Konstantin obviously has the same problem/question.
You write something about secure servers necessary for "full function", but I do not see anything saying that one of the methods described for secure servers is absolutely necessary to make speech recognition work. Can you help me?

Openhab Sepia

Hi Florian,

hier der Auszug aus dem Log, ich hoffe es hilft.
Warum kann ich mich eigentlich nicht mit dem Username "admin" anmelden sondern nur mit der UID? Kleine Frage am Rande :-).

2020-04-26 15:09:31 LOG - server running on port 20721
2020-04-26 15:09:31 [Thread-3] INFO log - Logging initialized @14939ms to org.eclipse.jetty.util.log.Slf4jLog
2020-04-26 15:09:31 [Thread-3] INFO EmbeddedJettyServer - == Spark has ignited ...
2020-04-26 15:09:31 [Thread-3] INFO EmbeddedJettyServer - >> Listening on 0.0.0.0:20721
2020-04-26 15:09:31 [Thread-3] INFO Server - jetty-9.4.18.v20190429; built: 2019-04-29T20:42:08.989Z; git: e1bc35120a6617ee3df052294e433f3a25ce7097; jvm 11.0.6+10-post-Raspbian-1deb10u1
2020-04-26 15:09:32 [Thread-3] INFO session - DefaultSessionIdManager workerName=node0
2020-04-26 15:09:32 [Thread-3] INFO session - No SessionScavenger set, using defaults
2020-04-26 15:09:32 [Thread-3] INFO session - node0 Scavenging every 600000ms
2020-04-26 15:09:32 [Thread-3] INFO AbstractConnector - Started ServerConnector@2f3e2d{HTTP/1.1,[http/1.1]}{0.0.0.0:20721}
2020-04-26 15:09:32 [Thread-3] INFO Server - Started @15663ms
2020-04-26 15:09:34 LOG - Clients: Checking connection to socket messenger...
2020-04-26 15:09:40 LOG - Clients: Checking connection to socket messenger...
2020-04-26 15:09:40 LOG - Clients: Socket messenger found.
2020-04-26 15:09:44 [Thread-2] INFO SocketClientHandler - WEBSOCKET-CLIENT - Connecting to: ws://localhost:20723/messages/
2020-04-26 15:09:45 [WebSocketClient@3306242-33] INFO SepiaSocketClient - WEBSOCKET-CLIENT: Got connection
2020-04-26 15:09:45 [Thread-21] INFO SepiaSocketClient - WEBSOCKET-CLIENT: Authenticating user: 'uid1005'
2020-04-26 15:10:28 LOG - JSON-Backup-worker: START
2020-04-26 15:10:28 LOG - JSON-Backup-worker: Data has been stored! (1 time(s)) It took (ms): 283, average (ms): 10000
2020-04-26 15:13:04 ERROR - ID type - autodetectType(...) failed! Id: admin
2020-04-26 15:13:12 ERROR - ID type - autodetectType(...) failed! Id: admin
2020-04-26 15:14:03 ERROR - Exception for request to http://192.168.10.35:20721/integrations/smart-home/getDevices: java.lang.NullPointerException
2020-04-26 15:14:03 ERROR - TRACE: net.b07z.sepia.server.assist.endpoints.IntegrationsEndpoint.smartHomeIntegration(IntegrationsEndpoint.java:106)
2020-04-26 15:14:03 ERROR - TRACE: net.b07z.sepia.server.assist.endpoints.IntegrationsEndpoint.lambda$static$0(IntegrationsEndpoint.java:41)
2020-04-26 15:14:03 ERROR - TRACE: net.b07z.sepia.server.assist.endpoints.IntegrationsEndpoint.handle(IntegrationsEndpoint.java:77)
2020-04-26 15:14:03 ERROR - TRACE: net.b07z.sepia.server.assist.server.Start.lambda$loadEndpoints$23(Start.java:340)
2020-04-26 15:14:03 ERROR - TRACE: spark.RouteImpl$1.handle(RouteImpl.java:72)

STT-Server einrichten

Vorab vielen Dank für deine großartige Arbeit!

Mein Ziel ist es eine offline Sprachsteuerung meiner Smart Home Geräte zu ermöglichen.

Ich habe SEPIA auf einem RPI 4 installiert und mit openhab verbunden, was auf dem selben Gerät läuft.
Es läuft bei mir bis zu dem Punk, dass ich meine Smart Home Geräte über den Browser meines PCs und über die App per Sprache steuern kann.

Um das Mikrofon im Browser verwenden zu können habe ich versucht einen SSL nach der Anleitung Securing your server (professionally) einzurichten, was jedoch nicht funktioniert hat. Es kamen keine Fehlermeldungen beim Einrichten, aber der Server ist unter https://[my-duck-dns-domain]:20726/sepia/assist/app/index.html (an meine Domain angepasst) nicht erreichbar. (Ist das für das Einrichten eines STT-Server notwendig?)
Deshalb habe ich vorerst die von dir genannte einfache Lösung Set up web browser to treat your local IP as secure origin verwendet.

Der nächste Schritt wäre den STT-Server zu erstellen, nach folgender Anleitung, richtig?
Hier bin ich nach der Custom Installation vorgegangen, jedoch scheitert es hier bereits an dem zweiten Befehl echo "deb http://goofy... da die Datei /etc/apt/sources.list.d/zamia-ai.list nicht vorhanden ist.
image

Habe ich hier bereits einen Schritt übersprungen, oder ist es notwendig die SSL bereits eingerichtet zu haben?
Muss ich hierfür evtl. bereits vorab Dateien von Zamia Speech herunterladen?

Vielen Dank im Voraus!

No Login possible

Hey,

I installed SEPIA (https://github.com/SEPIA-Framework/sepia-installation-and-setup#quick-start). I set the Admin password to a simple test password. Afterwards I open the login page (http://ip:20721/tools/index.html), type Username "Admin", the Password and Auth server "http://ip:20721".

The app says "Login fehlgeschlagen! - Username oder Password ist falsch.". The response is

HTTP/1.1 200 OK
Date: Sat, 04 Apr 2020 17:55:48 GMT
Access-Control-Allow-Origin: *
Access-Control-Request-Method: *
Access-Control-Allow-Headers: *
Content-Type: application/json
Transfer-Encoding: chunked
Server: Jetty(9.4.18.v20190429)

{"result":"fail","error":"400 or 500 bad request or communication error","code":"0"}

I tested with username "admin", "Assistant" and "assistant". The response from server is always same. I startet SEPIA with normal user and root.

Any hint what to do? Are there any log files? In the SEPIA folder, I can not see any.

Speaker Recognition

Hi,

I am considering SEPIA as one option for automating my home, but some use cases require speaker recognition to work smoothly. Is there some hidden support for this in SEPIA already or is it a planned feature?

Kind regards

How do you update the server correctly?

Hi there,
Yesterday I wanted to update the server to the current version 2.4.1b and encountered problems.
In the end I had to reinstall the whole server in order to use the current version.
How do you update the server correctly without having to reinstall it?

greetings

Java 9 issues

Describe the bug
SEPIA-Home throws errors when using Java 9 related to sepia-core-tools and JAXB dependency.

SEPIA client and server versions

  • Client OS: -
  • SEPIA-Client version: -
  • SEPIA-Server version: SEPIA-Home v2.1.3

To Reproduce
Steps to reproduce the behavior:

  1. Install Java 9
  2. Build SEPIA-Home

Expected behavior
Build-process completes without errors in Java >8

Additional context
#4
SEPIA-Framework/sepia-core-tools-java#9

Headless Client for Smart Speakers

Hi Florian,

first of all: amazing work. I was searching for a stt engine that can use other languages than English to use for my smart home, and stumbled via Zambia onto your master piece.

I've read on the home page that SEPIA could be used for smart speakers, but could not find a headless client version on github. Are you planning for something like that?

Best Regards
Martijn

Graceful logout from multi-session

Hi Florian,

thanks for the interesting project!
I have a question:

Usecase: I log in from a third-party client while being previously logged in from the SEPIA WebClient (under the same uid), and then logout from the third-party client (simply close websocket).
Observation: I see in the chat window the following messages:

SEPIA-Websocket-Server: Your session is now inactive in channel () until you send a message
SEPIA-Websocket-Server: *** (
) joined the chat
SEPIA-Websocket-Server: *** (***) left the chat

Then if I try to send messages to the chat from the WebClient, which was deactivated I get:

Sepia: Login? Error?

If I try the same usecase with two WebClients it works (initial session is re-activated).

Question: If my understanding is correct simply closing websocket is not enough to gracefully close the session (another session can be reactivated). Am I missing something?
What are the correct steps to close/re-activate the session?

openHAB Item recognition unclear

Hello,

since I now got the connection to openHAB running. I tried to "turn the lights on"
With the log level on debug on openHAB side, I can see that S.E.P.I.A. indeed tries to set a value for an Item. But the Item is not a switch or a dimmer, but most of all not a light...

Setting the "Lights" value for the "Type" in the devices list does not seem to be persistent, since the value for the previously set item is empty when I reload the page and get the device. Also none of the "light" items gets set.

So my question is: How can I see and control which Items will be affected for which action?

Thanks
Martijn

App stürzt ab bei Voice-Befehl

Describe the bug
Wenn ich den Voice-Button klicke oder das wake word "Hey SEPIA" sage, stürzt die App ab. Befehle, die als Text eingebe funktionieren normal. App-Berechtigungen sind alle zugelassen

SEPIA client and server versions

  • Client OS: Android 10 (S10 not rooted) & Android 8 (S8 rooted)
  • SEPIA-Client version: v0.21.0
  • SEPIA-Server version: v2.4.1

To Reproduce
Steps to reproduce the behavior:

  1. Auf Voice-Button klicken oder wake word sagen

Expected behavior
Befehl wird aufgenommen und ausgeführt

Strong American Accent with German Language for TTS on Samsung J4+

Hi again,

after Sepia is working at my house now I asked my son to install the app on his mobile, too. Installation was flawless, but there is a curious bug: Although language is set to German with voice output using the native engine and the system voice the voice of the mobile differs extremly from my mobile. There is a very strong american Accent on every voice output whereas my Samsung S8 has a clear German voice. I am not quite sure if this is a Sepia problem at all, but perhaps you might have an idea what to alter to get a clear voice on the J4+, too.

Anbindung an Individualsystem

Vielen Dank erstmal für die großartige Arbeit, ich habe SEPIA recht einfach zum Laufen bekommen. Allerdings ist mir nicht ganz klar, wie ich mein SmartHome (komplette Eigenentwicklung) anbinden kann. Wenn ich z. B. sage "Stelle Heizung im Wohnzimmer auf 23 Grad" sollte am besten per MQTT an meinen Broker eine Nachricht mit den entsprechend erkannten Attributen rausgehen. Ich habe bei den Extensions etwas mit MQTT gefunden, mir ist aber nicht ganz klar, wie ich das so verwende, dass es bei jedem Erkannten SmartHome-Befehl die MQTT raus schickt. Ist das überhaupt machbar? Wäre für Hilfe hierbei sehr dankbar :)

Can't seem to get SEPIA working :(

Hi, I've tried the latest releases in both a docker container and from a fresh ubuntu installation in a virtual machine. Everything compiles(docker) or everything installs correctly on the vm but whenever I try to start SEPIA I always get the following:
---- Testing cluster ---- -----Assist API----- curl: (7) Failed to connect to localhost port 20721: Connection refused -----Teach API----- curl: (7) Failed to connect to localhost port 20722: Connection refused -----Chat API - WebSocket Server----- curl: (7) Failed to connect to localhost port 20723: Connection refused
Obviously, I can't access this instance from another machine.
Where should I start looking to figure out the issue?
Thanks

Missing things in the smarthome hub!

Describe the bug
Since version 2.5.0 I miss a lot of channels in the smarthome hub.

SEPIA client and server versions

  • SEPIA-Server version: 2.5.0

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Smart Home in Sepia Control HUB'
  2. Click or say 'Load Hub Info'
  3. See: Not more then 10 things, in version 2.4.1.b I still had all I had in openhab.

Expected behavior
For example, I can no longer send my vacuum cleaner off or wake up my home server because the channels are no longer there.

Locked out

Hi there,

So I installed SEPIA to use it with my Openhab. Today I edited some user roles in the User Management Settings.
I accidentally gave my Admin User the role "smarthomguest" and now I don't have any permissions at all!

Is there a way to reset SEPIA itself or create a new Administrator?

Thank's in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.