SEPIA open-source Sprachassistent: Integration in FHEM?

Begonnen von sepia, 04 Juli 2019, 12:10:12

Vorheriges Thema - Nächstes Thema

gestein

#210
Also diese URL http://192.168.0.117:8083/fhem?cmd=jsonlist2%20global&XHR=1&fwcsrf=csrf_<token> liefert anscheinend das Richtige:
{
  "Arg":"global",
  "Results": [
  {
    "Name":"global",
    "PossibleSets":"",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 altitude apiversion archivecmd archivedir archivesort:timestamp,alphanum archiveCompress autoload_undefined_devices:0,1 autosave:1,0 backup_before_update backupcmd backupdir backupsymlink blockingCallMax commandref:modular,full configfile disableFeatures:multiple-strict,attrTemplate,securityCheck dnsHostsFile dnsServer dupTimeout exclude_from_update featurelevel:6.0,5.9,5.8,5.7,5.6,5.5,99.99 genericDisplayType:switch,outlet,light,blind,speaker,thermostat holiday2we httpcompress:0,1 ignoreRegexp keyFileName language:EN,DE lastinclude latitude logdir logfile longitude maxChangeLog maxShutdownDelay modpath motd mseclog:1,0 nofork:1,0 nrarchive perlSyntaxCheck:0,1 pidfilename proxy proxyAuth proxyExclude restartDelay restoreDirs sendStatistics:onUpdate,manually,never showInternalValues:1,0 sslVersion stacktrace:1,0 statefile title updateInBackground:1,0 updateNoFileCheck:1,0 useInet6:1,0 version ASC:0,1,2 alarmDevice:Actor,Sensor cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels fp_Terrasse_West genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgParams msgPriority msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText msgTitle msgTitleShrt msgType:text,push,mail,screen,light,audio,queue readingsWatcher siriName snipsMapping:textField-long snipsName snipsRoom sortby webCmd webCmdLabel:textField-long widgetOverride ASC:0,1,2 alarmDevice:Actor,Sensor cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels fp_Terrasse_West genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgParams msgPriority msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText msgTitle msgTitleShrt msgType:text,push,mail,screen,light,audio,queue readingsWatcher siriName snipsMapping:textField-long snipsName snipsRoom sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "DEF": "no definition",
      "FD": "3",
      "FVERSION": "fhem.pl:v6.0-s22082/2020-05-31",
      "NAME": "global",
      "NR": "1",
      "STATE": "no definition",
      "TYPE": "Global",

<und so weiter und so fort>

  "totalResultsReturned":1
}


Dann stimmt bei meinen Einstellungen etwas nicht.

Ich bin so vorgegangen:
1) Core Settings
smarthome_hub_host = http://192.168.0.117:8083/fhem
smarthome_hub_name = fhem


Bei beiden Optionen habe ich das Hakerl gedrückt. In Sepia erscheint die Meldung:
{
  "serverType": "custom",
  "serverName": "SEPIA-Assist-API",
  "config": [
    "smarthome_hub_host=http://192.168.0.117:8083/fhem"
  ]
}

und
{
  "serverType": "custom",
  "serverName": "SEPIA-Assist-API",
  "config": [
    "smarthome_hub_name=fhem"
  ]
}


Dann auf "Smart Home" die Einstellung "Select System" auf "FHEM" und "Server" auf "http://192.168.0.117:8083".
Neben der URL steht ein roter Punkt und es steht in roten Buchstaben der Text "No items found or no access to smart home system.".
Dann auf "LOAD HUB INFO", der rote Punkt neben der URL für den Server wechselt auf Grün.
Es steht wieder der Text "No items found or no access to smart home system." in roten Buchstaben dort.
Dann auf "REGISTER SEPIA" und es kommt die Fehlermeldung:
{
  "result": "fail",
  "error": "Could not register SEPIA Framework inside smart home HUB. See assist-server log for errors."
}


Im log.out steht dann wieder:
2020-06-05 11:33:02 ERROR - FHEM - registerSepiaFramework: Failed! Could not load global attributes. Msg.: {"STRING":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 Strict\/\/EN\" \"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-strict.dtd\">\n<html xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<head root=\"\/fhem\">\n<title>Home, Sweet Home<\/title>\n<link rel=\"shortcut icon\" href=\"\/fhem\/icons\/favicon\" \/>\n<meta charset=\"UTF-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<link href=\"\/fhem\/pgm2\/style.css?v=1591339213\" rel=\"stylesheet\"\/>\n<link href=\"\/fhem\/pgm2\/jquery-ui.min.css\" rel=\"stylesheet\"\/>\n<style id='style_css'>\nbody { background-color:#FFFFE7; }\n<\/style>\n<script attr='' type=\"text\/javascript\" src=\"\/fhem\/pgm2\/jquery.min.js\"><\/script>\n<script attr='' type=\"text\/javascript\" src=\"\/fhem\/pgm2\/jquery-ui.min.js\"> .....

Im fhem log-file steht dann:
2020.06.05 12:37:34.824 4: Connection accepted from WEB_192.168.0.102_48310
2020.06.05 12:37:34.830 5: GET /?XHR=1 HTTP/1.1
User-Agent: Java/11.0.7
Host: 192.168.0.117:8083
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
2020.06.05 12:37:34.832 4: WEB_192.168.0.102_48310 GET /?XHR=1; BUFLEN:0
2020.06.05 12:37:34.833 4: WEB: redirecting /?XHR=1 to /fhem
2020.06.05 12:37:34.864 4: Connection closed for WEB_192.168.0.102_48310: EOF
2020.06.05 12:37:34.900 4: Connection accepted from WEB_192.168.0.102_48312
2020.06.05 12:37:34.905 5: GET /fhem HTTP/1.1
User-Agent: Java/11.0.7
Host: 192.168.0.117:8083
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
2020.06.05 12:37:34.906 4: WEB_192.168.0.102_48312 GET /fhem; BUFLEN:0
2020.06.05 12:37:34.932 4: WEB: /fhem / RL:18122 / text/html; charset=UTF-8 /  / Cache-Control: no-cache, no-store, must-revalidate

2020.06.05 12:37:34.987 4: Connection accepted from WEB_192.168.0.102_48314
2020.06.05 12:37:34.990 5: GET /?cmd=jsonlist2+global&XHR=1&fwcsrf=csrf_<Token> HTTP/1.1
User-Agent: Mozilla/5.0
Host: 192.168.0.117:8083
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
2020.06.05 12:37:34.991 4: WEB_192.168.0.102_48314 GET /?cmd=jsonlist2+global&XHR=1&fwcsrf=csrf_<Token>; BUFLEN:0
2020.06.05 12:37:34.991 4: WEB: redirecting /?cmd=jsonlist2+global&XHR=1&fwcsrf=csrf_<Token> to /fhem
2020.06.05 12:37:34.999 4: Connection closed for WEB_192.168.0.102_48314: EOF
2020.06.05 12:37:35.006 4: Connection accepted from WEB_192.168.0.102_48316
2020.06.05 12:37:35.009 5: GET /fhem HTTP/1.1
User-Agent: Mozilla/5.0
Host: 192.168.0.117:8083
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
2020.06.05 12:37:35.010 4: WEB_192.168.0.102_48316 GET /fhem; BUFLEN:0
2020.06.05 12:37:35.024 4: WEB: /fhem / RL:18122 / text/html; charset=UTF-8 /  / Cache-Control: no-cache, no-store, must-revalidate

2020.06.05 12:37:44.796 4: Connection closed for WEB_192.168.0.102_48298: EOF
2020.06.05 12:37:44.800 4: Connection closed for WEB_192.168.0.102_48312: EOF
2020.06.05 12:37:44.803 4: Connection closed for WEB_192.168.0.102_48316: EOF


Der Aufruf von Sepia scheint also zu stimmen, aber fhem gibt nicht das Richtige zurück.
lg, Gerhard

whistler

#211
Zitat von: sepia am 05 Juni 2020, 10:56:11
Führ mal zum Testen bitte die 'download_wasm.sh' aus und dann nutze genau diesen Inhalt in der 'wakeWords.js':

SepiaFW.wakeTriggers.porcupineVersion = "1.6";
SepiaFW.wakeTriggers.porcupineWakeWords = ["Grasshopper"];
SepiaFW.wakeTriggers.porcupineVersionsDownloaded = true;


Ja stimmt, das wäre gut. Ich setze es mal auf die Liste.
Bis dahin würde ich empfehlen wie Oben beschrieben die richtige Einstellung zu suchen, sprich also über einen Browser zu testen, bei dem du die Dev Tools öffnen kannst. Wenn es Fehler gibt sieht man die dort.

Das mit dem F12 hilft schon mal und das Grasshopper klappt auch bzw. wird richtig geladen. Das gleiche geht mit dem Bumblebee auch.

Jetzt wollte ich ein Multiwakeup bauen.


SepiaFW.wakeTriggers.porcupineVersion = "1.5";
SepiaFW.wakeTriggers.porcupineWakeWords = {
'raspberry': new Uint8Array([
0x21, 0x2e, 0x75, 0xad, 0xa2, 0x3b, 0xf9, 0x1f, 0xa8, 0xcc, 0x7d, 0x3c,
0xf3, 0x42, 0x33, 0x99, 0x61, 0x05, 0x57, 0x36, 0x93, 0x13, 0xc9, 0x99,
0xcb, 0xf5, 0x23, 0x27, 0x7c, 0xa1, 0x59, 0x11, 0xac, 0x54, 0x8c, 0x0e,
0xf7, 0xf7, 0x1a, 0x30, 0xda, 0x1d, 0x35, 0x04, 0x3f, 0xd2, 0x48, 0x95,
0x59, 0x94, 0x36, 0x35, 0x18, 0x1d, 0xc1, 0x36, 0x13, 0x08, 0xfa, 0x22,
0x10, 0xf7, 0x43, 0xce, 0x88, 0x9f, 0x49, 0xd0, 0x3e, 0x18, 0x89, 0xd3,
0x6d, 0xff, 0x69, 0xa2, 0xb8, 0x2d, 0x3a, 0xd8, 0xad, 0x5f, 0xb1, 0x01,
0xf6, 0xaf, 0x97, 0xa0
])
};
SepiaFW.wakeTriggers.porcupineVersionsDownloaded = true;


Aber bin erstmal nachdem alle nicht gingen 3-4 Stück auf eins zurück gegangen da es dann in der 1.5 und 1.6 zu einem Fehler kommt.


SepiaFW - LOG - WakeTriggers - Loaded wake words: ["raspberry"] sepiaFW.wakeTriggers.js:246:17
SepiaFW - LOG - WakeTriggers - Wake word sensitivities: {"0":0.20000000298023224} sepiaFW.wakeTriggers.js:247:17
SepiaFW - LOG - TTS voice set: de-DE marytts f sepiaFW.speech.js:978:19
SepiaFW - LOG - WakeTriggers - Loaded Picovoice Porcupine engine. sepiaFW.wakeTriggers.js:215:20
SepiaFW - LOG - WakeTriggers - Starting wake-word listener. sepiaFW.wakeTriggers.js:108:23
[ERROR] keyword file belongs to a different version of the library pv_porcupine_mod.js:1020:59
[ERROR] parsing keyword ID #0 failed with 'INVALID_ARGUMENT' pv_porcupine_mod.js:1020:59
Error: failed to initialize porcupine.


Funktioniert das Multiwake in der Version 1.5 bzw. 1.6 nicht mehr?


[EDIT]
ich haette noch eine idee für den headless client, da bin ich aktuell immer per vnc drauf :-)
Da wäre noch im setup.sh skript ein headless + display + debug  nice :-) heisst ohne kiosk mode, dann kann man dort ebenfalls mit F12 schauen was los ist.



sepia

#212
Zitat von: gestein am 05 Juni 2020, 12:43:05
Also diese URL http://192.168.0.117:8083/fhem?cmd=jsonlist2%20global&XHR=1&fwcsrf=csrf_<token> liefert anscheinend das Richtige:
...

Ok, das ist schon mal gut. Sind FHEM, SEPIA und das System von dem du den Test gemacht hast 3 separate Computer? Worauf ich hinaus will ist, könnte es sein dass der SEPIA Server nicht die gleichen Berechtigungen hat FHEM aufzurufen?
Ich glaube zwar das Problem liegt irgendwo anders aber das kann man mal im Hinterkopf behalten.

Zitat von: gestein am 05 Juni 2020, 12:43:05
Ich bin so vorgegangen:
[...]
Dann auf "Smart Home" die Einstellung "Select System" auf "FHEM" und "Server" auf "http://192.168.0.117:8083".
Neben der URL steht ein roter Punkt und es steht in roten Buchstaben der Text "No items found or no access to smart home system.".
Dann auf "LOAD HUB INFO", der rote Punkt neben der URL für den Server wechselt auf Grün.

Alle Schritte sind genau richtig, nur am Ende gibt es eventuell ein Problem, wobei es sich durch "LOAD HUB INFO" eigentlich selber korrigieren sollte. Für Version 2.5.0 habe ich es intuitiver gemacht aber in v2.4.1 ist das Feld "Server" etwas verwirrend. Im Grunde trägt man da nichts von Hand ein. Einfach die Seite öffnen, "LOAD HUB INFO" drücken und alle Felder sollten korrekt ausgefüllt sein. Speziell in dem Feld "Server" sollte dann "http://192.168.0.117:8083/fhem" stehen (inklusive /fhem am Ende!).

Zitat von: gestein am 05 Juni 2020, 12:43:05
Im fhem log-file steht dann:

[...]
2020.06.05 12:37:34.991 4: WEB_192.168.0.102_48314 GET /?cmd=jsonlist2+global&XHR=1&fwcsrf=csrf_<Token>; BUFLEN:0
2020.06.05 12:37:34.991 4: WEB: redirecting /?cmd=jsonlist2+global&XHR=1&fwcsrf=csrf_<Token> to /fhem
2020.06.05 12:37:34.999 4: Connection closed for WEB_192.168.0.102_48314: EOF
2020.06.05 12:37:35.006 4: Connection accepted from WEB_192.168.0.102_48316
2020.06.05 12:37:35.009 5: GET /fhem HTTP/1.1


Dieses "redirecting" sieht verwirrend aus. Ich vermute hier passiert Folgendes:
- Die HUB URL ist eigentlich korrekt in SEPIA: "http://192.168.0.117:8083/fhem"
- Durch den Schritt direkt vor "LOAD HUB INFO" wird sie aber auf "http://192.168.0.117:8083" gesetzt (das "Server" Feld)
- Dann versucht SEPIA den Aufruf ohne den Pfad "/fhem" am Ende was zu dem redirect führt

Die Lösung wäre also Schlicht und einfach den "LOAD HUB INFO" Button drücken und Prüfen, dass das "Server" Feld korrekt auf "http://192.168.0.117:8083/fhem" steht.

Grüße,
Florian

Zitat von: whistler am 05 Juni 2020, 20:03:50
Jetzt wollte ich ein Multiwakeup bauen.
[...]
Aber bin erstmal nachdem alle nicht gingen 3-4 Stück auf eins zurück gegangen da es dann in der 1.5 und 1.6 zu einem Fehler kommt.


SepiaFW - LOG - WakeTriggers - Loaded wake words: ["raspberry"] sepiaFW.wakeTriggers.js:246:17
[...]
[ERROR] keyword file belongs to a different version of the library pv_porcupine_mod.js:1020:59
[ERROR] parsing keyword ID #0 failed with 'INVALID_ARGUMENT' pv_porcupine_mod.js:1020:59
Error: failed to initialize porcupine.


Funktioniert das Multiwake in der Version 1.5 bzw. 1.6 nicht mehr?

Ich teste das mal, sieht von der Konfiguration eigentlich korrekt aus.

Zitat von: whistler am 05 Juni 2020, 20:03:50
[EDIT]
ich haette noch eine idee für den headless client, da bin ich aktuell immer per vnc drauf :-)
Da wäre noch im setup.sh skript ein headless + display + debug  nice :-) heisst ohne kiosk mode, dann kann man dort ebenfalls mit F12 schauen was los ist.

Ja das könnte man machen :-)
Übrigens müsstest du den gleichen Fehler auch sehen wenn du in des SEPIA Einstellungen auf der "Hey SEPIA" Seite unten den "Debug" Button auf ON stellst. Dann kommen unten auf der Seite die Fehlermeldungen.

[EDIT] Korrektur: Der Fehler wird nicht im Debug Modus angezeigt UND ich kann ihn reproduzieren. Wenn man "raspberry" allerdings im non-multi-keyword Modus nutzt beschwert er sich nicht, komisch. Mal gucken ob ich herausfinden kann was da passiert ;-)

gestein

Hallo,

Danke für Deine Hilfe.
Wenn ich die "Smart Home"-Settings aufrufe, steht bei Server automatisch "http://192.168.0.117:8083" - ohne dem "/fhem".
Wenn ich händisch "/fhem" dazu schreibe, dann ist der Punkt links neben dem Textfeld rot.
Drücke ich dann "LOAD HUB INFO", verschwindet das "/fhem" wieder und der Punkt ist grün.

Wenn ich das "/fhem" stehen lassen (also nicht das "LOAD HUB INFO" drücke, sondern gleich "REGISTER SEPIA"), kommt die Meldung "{
  "result": "fail",
  "error": "host address is unknown to server and call has been blocked! Please set 'smarthome_hub_host' in your server settings first."
}

Da muss ich aber erst noch die Einträge im log.out und im fhem.log checken.

lg, Gerhard

sepia

Zitat von: gestein am 06 Juni 2020, 10:40:08
Wenn ich die "Smart Home"-Settings aufrufe, steht bei Server automatisch "http://192.168.0.117:8083" - ohne dem "/fhem".
Wenn ich händisch "/fhem" dazu schreibe, dann ist der Punkt links neben dem Textfeld rot.
Drücke ich dann "LOAD HUB INFO", verschwindet das "/fhem" wieder und der Punkt ist grün.

Hi Gerhard,

ich glaube ich verstehe jetzt das Problem. Die Einstellungen für "smarthome_hub_host" und "smarthome_hub_name" sind zwar gespeichert aber noch nicht aktiv.
Hast du nach dem Speichern den Server neu gestartet? Falls nicht einmal bitte nachholen ^^.

Zitat von: whistler am 05 Juni 2020, 20:03:50
Funktioniert das Multiwake in der Version 1.5 bzw. 1.6 nicht mehr?

Hab den Bug gefunden und der Fix ist im Dev und Master. Release sollte Heute kommen ^^.
Danke fürs Testen!

gestein

Halllo,

Du hattest recht. Peinlich - Anfängerfehler.
Ein Reboot nach dem Setzen der "Core Settings" und dem Setzen des "Smart Home Hub" hat die Lösung gebracht.
Daran hätte ich denken können, wäre ohne Deine Hilfe aber nie draufgekommen.

Danke und entschuldige bitte.
Jetzt kann ich wieder weiterprobieren  :)

lg, Gerhard

sepia

Zitat von: gestein am 06 Juni 2020, 14:51:11
Ein Reboot nach dem Setzen der "Core Settings" und dem Setzen des "Smart Home Hub" hat die Lösung gebracht.
Daran hätte ich denken können, wäre ohne Deine Hilfe aber nie draufgekommen.

Du bist nicht der Erste ;-) Ich habe versucht es für die nächste Version etwas deutlicher hervorzuheben, mal gucken ob es wirkt ^^.
Viel Spaß beim Testen!

whistler

Zitat von: sepia am 06 Juni 2020, 10:50:13
Hab den Bug gefunden und der Fix ist im Dev und Master. Release sollte Heute kommen ^^.
Danke fürs Testen!

So also Bugfix getestet klappt auch.

Was mit aufgefallen ist vermutlich nach wie vor beim Update des Headless Client einmal aufräumen und neu Anfangen. Das bedeutet beim neu installieren:
Install erstellen download zip & unizip
install-sepia_client.sh dev (oder auch ohne)
setup.sh
download_wsma.sh
die settings für room wakeword nach editieren
wakeword.js anpassen

Hat sich den vorgehen was geändert?

Was noch schön wäre, wenn in den settings.js oder settings.json die syntax nicht passt, das es eine Meldung oder so gibt. Genau hab ich keine Idee.
ich hatte mit bei neuinstallieren irgendwie ungültige werte in zeile 1 eingefangen, und hab nun gesucht warum der client sich nicht einloggt.

Wakeword klappt bei nur nun zumindest erstmal auf 2 von 5 pi. liegt sicher an der konfiguration darunter liegend.
Am browser am Rechner funktioniert es auch.

Vielleicht wäre es Denkbar ein update_sepia_client.sh noch zu bauen. (und ein cleanup)
damit bei einem kleinen update nicht komplett neu installiert werden muss, wie z.B. in dem wakeword fix.
Vielleicht was für die todo liste.

sepia

#218
Zitat von: whistler am 06 Juni 2020, 17:02:07
Was mit aufgefallen ist vermutlich nach wie vor beim Update des Headless Client einmal aufräumen und neu Anfangen. Das bedeutet beim neu installieren:
Install erstellen download zip & unizip
install-sepia_client.sh dev (oder auch ohne)
setup.sh
download_wsma.sh
die settings für room wakeword nach editieren
wakeword.js anpassen

Hat sich den vorgehen was geändert?

Klingt gut soweit.
Ich bin ehrlich gesagt nicht sicher was passiert, wenn man den ganzen Installationsvorgang über eine existierende Version ausführt, aber zumindest bei der .bashrc wird vorher geguckt ob der SEPIA Eintrag schon existiert. Ein ordentliches Update Script fehlt dem DIY Client leider noch.
Die 'install_sepia_client.sh' hat jetzt noch einen neues Argument bekommen: 'skipBLE', damit kann man die ganze Bluetooth Geschichte überspringen und z.B. Installationen auf nicht-Raspberry Systemen möglich machen. Wenn man es allerdings später braucht muss man vermutlich CLEXI neu installieren weil es aus dem Build-Prozess entfernt wurde ;-)

Zitat von: whistler am 06 Juni 2020, 17:02:07
Was noch schön wäre, wenn in den settings.js oder settings.json die syntax nicht passt, das es eine Meldung oder so gibt. Genau hab ich keine Idee.
ich hatte mit bei neuinstallieren irgendwie ungültige werte in zeile 1 eingefangen, und hab nun gesucht warum der client sich nicht einloggt.

Ja das wäre nett, wüsste aber spontan auch nicht wie man es machen könnte (ohne zu viel Aufwand), denn wenn die settings.js nicht geparsed werden kann kann man über den CLEXI Server auch nichts ausgeben weil die Verbindung gar nicht erst zustande kommt. Bei der settings.json müsste eigentlich direkt ein Fehler im CLEXI Log kommen.

Zitat von: whistler am 06 Juni 2020, 17:02:07
Vielleicht wäre es Denkbar ein update_sepia_client.sh noch zu bauen. (und ein cleanup)
damit bei einem kleinen update nicht komplett neu installiert werden muss, wie z.B. in dem wakeword fix.

Ja, hehe, siehe Oben :-p

whistler

Moin Florian,

ja ich hab gesehen gestern war es soweit. Ich denke da ist gestern nicht mehr soviel passiert. das ich bei Gelegenheit mal update.
Vielen Dank dafür. :-)

Ich habe noch eine andere Sache. Beim Display bzw. Pseudoheadless Client. Den nutze ich ja,
wird ja der chromium Browser aufgerufen im Kiosk mode etc.

Aber entscheidend ist glaubig der Chromium an sich. Da kommt dann nach einer zeit ein Popup das der Chromium nicht aktualisiert werden konnte und daher neu installiert werden muss. Wenn man die Maske schliesst oder das "osReboot" nutzt geht es ne Zeit wieder.

Das Problem ist, wenn ich das richtig sehe, kann ich während dessen keine Eingaben mehr machen. Und die Uhr die ja oben im Screen mitläuft bleibt dann stehen. Ich wollte dir eigentlich per VNC einen Screenshot machen, aber wie es so ist, wenn man am Rechner sitzt macht man erst den Reboot :-)
Kann ich aber noch nachliefern. (Nachlieferung vom anderen Client es hatten alle die Meldung)

Wenn ich dann per ssh ein Update einspielen will. Ist es sonst und jetzt auch so, das er kein update "braucht".

$ sudo apt install chromium-browser
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
chromium-browser ist schon die neueste Version (78.0.3904.108-rpt1).


Vielleicht hast du eine Idee dazu. :-)

Schönen Sonntag.

Gruß
Basti

sepia

Zitat von: whistler am 07 Juni 2020, 11:12:14
ja ich hab gesehen gestern war es soweit. Ich denke da ist gestern nicht mehr soviel passiert. das ich bei Gelegenheit mal update.
Vielen Dank dafür. :-)

Hi Basti,

Ja, ich habs endlich durchgezogen ^^ (bevor ich wieder nen Bug finde und alles verschiebe :P). Für dich vielleicht noch relevant sind 2 kleinere Verbesserungen im DIY Client Setup, nämlich dass TTS und Wake-Word deaktiviert sind bis man sich einlogged. Die TTS Sache hatten wir ja schon diskutiert, aber das Wake-Word hatte mir auch Probleme gemacht weil es sich mit dem "Ready for Setup" Sound nicht gut verträgt ... im Grunde aber nur Kosmetik. Zusätzlich gibt es noch Event Broadcasting im Remote Terminal für Wake-Word aktiv/inaktiv, das wars.

Ich schreibe jetzt ein paar Tutorials für die neue Version und mache dann noch mal etwas "Werbung" für die neuen Features ;-)

Zitat von: whistler am 07 Juni 2020, 11:12:14
Ich habe noch eine andere Sache. Beim Display bzw. Pseudoheadless Client. Den nutze ich ja,
wird ja der chromium Browser aufgerufen im Kiosk mode etc.

Aber entscheidend ist glaubig der Chromium an sich. Da kommt dann nach einer zeit ein Popup das der Chromium nicht aktualisiert werden konnte und daher neu installiert werden muss. Wenn man die Maske schliesst oder das "osReboot" nutzt geht es ne Zeit wieder.

Ja stimmt, das hatte ich kurz verdrängt, aber das nervt mich auch. Selbst wenn man alle Update Checks deaktiviert kommt das ab und an wieder >:( . Ich gucke es mir jetzt mal genauer an.

gestein

Hallo,

Nachdem nun die Sepia-Installation erfolgreich gemeistert habe, kommen mit dem Ausprobieren die ersten Wünsche ;)
Zuerst mal: wirklich tolle Arbeit, die Du da leistest.

Daher habe ich nun versucht, mich in die Thematik von Sepia einzulesen.
Allerdings ist die Dokumentation für mich sehr schwer zu durchschauen.

Ich hätte ein paar Fragen, die Neueinsteiger, die aus fhem kommen, vielleicht auch interessieren:
- wie kann ich Sepia updaten? Bisher habe ich "nur" Anleitungen für die Neuinstallation gefunden.
  Du bist ja sehr fleißig und jedes Mal eine Neuinstallation ist wohl nicht zielführend.
- wie kann ich einen Client (oder mehrere) installieren? Welche Parameter muss ich da wo einstellen?
  Im Endausbau wäre es wohl gut, in jedem Zimmer einen Client zu haben. Oder zumindest dort, wo man den Assistenten haben möchte. Oder?
- Kann man die Sprachrückmeldungen über Sonos ausgeben?
  Ich habe bisher alle Meldungen von fhem über meine Sonos laufen. Das funktioniert super.
- Stimmt es, dass es bei einem Raspberry (ich hätte einen Zero) Probleme im Betrieb von Bluetooth und Sepia gibt?
  Ich würde nämlich gerne einen raspberry zero als Client für Sepia (mit einem "ReSpeaker 4-Mic Array for Raspberry Pi") und Bluetooth für die Presence-Erkennung verwenden.
  Ginge das?

Vielen Dank im Voraus (und nochmals: ein wirklich tolles Projekt, dass Du da auch die Beine gestellt hast).
liebe Grüße
Gerhard

sepia

Zitat von: gestein am 09 Juni 2020, 09:27:03
Daher habe ich nun versucht, mich in die Thematik von Sepia einzulesen.
Allerdings ist die Dokumentation für mich sehr schwer zu durchschauen.

Ja die ist leider wirklich noch nicht so gut :-X . Ich versuche sie Schritt für Schritt zu verbessern ;)

Zitat von: gestein am 09 Juni 2020, 09:27:03
- wie kann ich Sepia updaten? Bisher habe ich "nur" Anleitungen für die Neuinstallation gefunden.
  Du bist ja sehr fleißig und jedes Mal eine Neuinstallation ist wohl nicht zielführend.

Ich nehme an du nutzt Linux? Dafür gibt es im SEPIA Ordner ein Skript "update-sepia.sh". Es lohnt sich vorher ein Update der update und backup Skripte zu ziehen. Ich habe mal schnell eine neue Sektion in den Docs erstellt dafür: https://github.com/SEPIA-Framework/sepia-docs/wiki/Update-SEPIA

Zitat von: gestein am 09 Juni 2020, 09:27:03
- wie kann ich einen Client (oder mehrere) installieren? Welche Parameter muss ich da wo einstellen?
  Im Endausbau wäre es wohl gut, in jedem Zimmer einen Client zu haben. Oder zumindest dort, wo man den Assistenten haben möchte. Oder?

Jeder Browser ist im Handumdrehen ein Client, du musst lediglich die Website der App aufrufen und beim Login auf deinen Server verweisen (die IP des Servers bei Hostname eingeben) :-) Der Server hosted die App üblicherweise auf "http://[SEPIA-SERVER-IP]:20726/sepia/assist/app/index.html" , es empfiehlt sich aber SSL Zertifikate zu installieren sonst funktioniert das Mikrofon nicht richtig. Dazu gibt es eine ganze Sektion in den Docs: https://github.com/SEPIA-Framework/sepia-docs/wiki/SSL-for-your-Server

Für deinen Anwendungsfall bietet sich vermutlich aber eher der autonome DIY/headless Client an. Dazu gibt es hier eine Anleitung: https://github.com/SEPIA-Framework/sepia-installation-and-setup/tree/master/sepia-client-installation/rpi

Zitat von: gestein am 09 Juni 2020, 09:27:03
- Kann man die Sprachrückmeldungen über Sonos ausgeben?
Ich habe bisher alle Meldungen von fhem über meine Sonos laufen. Das funktioniert super.

Gute Frage. Ich weiß nicht genau wie Sonos funktioniert. Wie verbindet sich Sonos denn mit FHEM?

Zitat von: gestein am 09 Juni 2020, 09:27:03
- Stimmt es, dass es bei einem Raspberry (ich hätte einen Zero) Probleme im Betrieb von Bluetooth und Sepia gibt?
  Ich würde nämlich gerne einen raspberry zero als Client für Sepia (mit einem "ReSpeaker 4-Mic Array for Raspberry Pi") und Bluetooth für die Presence-Erkennung verwenden.
  Ginge das?

Ich hatte bisher nur Probleme mit der Kombination "neustest Raspberry OS (früher Raspbian) + Rpi4". Da führte Bluetooth zu Problemen mit dem Wifi und ich weiß noch nicht warum. Raspberry Pi Zero mit neustem Raspberry OS habe ich noch nicht getestet aber mit Raspbian von letztem Monat war es kein Problem.
Wie genau planst du die "Presence-Erkennung" umzusetzen?  :)

Zitat von: gestein am 09 Juni 2020, 09:27:03
Vielen Dank im Voraus (und nochmals: ein wirklich tolles Projekt, dass Du da auch die Beine gestellt hast).

Danke! :) Grüße zurück,
Florian

gestein

Danke für die ausführlichen Antworten.

Ja, ich nutze Linux (Raspian). Auf meinem Rpi 3 ließ sich Sepia ohne Probleme installieren.
Weil ich ein paar überflüssige Raspberry pi zero habe, wollte ich mir zuerst mal ein Mikrophon kaufen und dann damit am raspberry zero herumspielen, bevor ich noch weitere in Betracht ziehe.

Im Prinzip ist die Presence-Erkennung ein script, dass als Hintergrund-Prozess läuft und kontinuierlich über einen Bluetooth-Adapter schaut, ob ein bestimmtes Bluetooth-Gerät (z.B. ein Schlüsselanhänger, GTag) erreichbar ist.
Wenn, dann nehme ich an, dass die Person Zuhause ist, wenn das Teil nicht erreichbar ist, dann ist derjenige abwesend.
Das Ganze funktioniert auch verteilt auf mehrere Clients, so kann man mehrere Zimmer bzw. Geschoße abdecken.
Dazu gibt es im forum einige Beiträge, auch im Wiki ist einiges zu finden.
https://wiki.fhem.de/wiki/PRESENCE#.C3.9Cberwachen_mittels_Bluetooth
Aber ich probier's einfach aus.

Das das lepresence-tool sehr einfach zu installieren ist, werde ich es mal mit einem headless Client versuchen.
Danke für den Tipp.

Sonos wäre momentan ein eigenes Modul in fhem, bei dem man z.B. über "set SONOS speak Text" einen Text ausgeben kann.
Man kann auch andere TTS verwenden (z.B. Amazon Polly), oder man spielt ein vorher erzeugtes mp3 ab (über set <SONOS> PlayURI bzw. PlayURITemp).
Hier hilft https://wiki.fhem.de/wiki/SONOS
Zur Zeit wird auch eine einfachere Schnittstelle zu Sonos über MQTT entwickelt.
https://forum.fhem.de/index.php/topic,111711.msg1059442.html#msg1059442
Aber damit habe ich mich noch nicht beschäftigt.

Aber das sind ein bisschen viele Themen auf einmal.
Ich werde mich Schritt für Schritt vorantasten. ;)
Danke nochmal.
lg, Gerhard

whistler

Hallo zusammen,

da ich das Thema ja auch schonmal hatte mit der Rückmeldung etc. zwar kein Sonos nutze sondern den LMS nutze.
Ist aber ja vielleicht auch das interessant den Umweg über mqtt zu gehen.

Mir war so das wir das Thema schon hatten und ich auch schonmal was dazu gelesen hatte.
Ich hab leider direkt in den Anleitungen noch nicht wieder gefunden, das folgt sicher noch. Die 2.5.0 ist ja gerade erst fertig.

@Florian: Kannst du mir vielleicht einen Tip geben, wenn ich im Code-UI bin möchte er gerne das ich mich einlogge beim Drücken auf Upload.
Meldung erscheint: You need to be logged in to upload a service!

ich hab es sowohl mit der uid1003 und uid1007 getestet. Die1007 hat tester,smarthomeguest,developer als Rolle.
Scheinbar reicht ihm das nicht.

Vorgehen: Menü -> Code-UI -> Smart Sevice MQTT-Demo oben auswählen.
Den Code anpassen und uid1007 und mqtt broker etc.
Dann auf Upload klicken und es erscheint die Loginmeldung.

(Was mir gerade einfällt hast du ggf. am Samstag über Tag an der Stelle noch noch nen Bugfix gemacht, dann müsste ich nochmal updaten, wenn der Fehler kurz vor Release noch drin war)

Danke schön.

Gruß
Basti