FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: Sedonion am 12 April 2019, 09:43:49

Titel: Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Sedonion am 12 April 2019, 09:43:49
Hallo Zusammen,

ich finde die neue Version des alexa-fhem sehr spannend und würde gerne umsteigen.
Wie mache ich das am besten?
Die neue Version installieren sollte ich schaffen, aber wie bekomme ich die alte Version sauber entfernt inkl des offenen Ports etc?

Vielen Dank im Voraus

Gruß Marco
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Sedonion am 16 April 2019, 09:58:22
Vielleicht wenigstens ein Hinweis wo ich ansetzen könnte?

Gruß Marco
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: MadMax-FHEM am 16 April 2019, 11:16:22
Zuerst einmal klären/nennen:

verwendest du "nur" den Smart Home Skill?

oder auch den Custom Skill?

Für nur Smart Home sollte es einfach sein:

- Alte Installation löschen (oder ganz weit weg "moven")
- Alte config.json ebenso: löschen (irgendwo weg sichern)
- Alte Module in fhem (DOIF, DUMMY) zur "Steuerung" löschen
- Alten Autostart (/etc/init.d/ oder /etc/systemd/system) deaktivieren und löschen

Dann nach Wiki: fhem-Connector einfach neu installieren.

Wichtig: der "Filter" in der config.json ("alt") war (oft) room=alexa in der neuen config.json ist der Filter so, dass Geräte erkannt werden, die einen alexaName gesetzt haben! Entweder (wenn nicht schon überall geschehen) einen alexaName setzen oder den Filter der "neuen" config.json anpassen...

fhem update nicht vergessen!!

Port 3000 etc. kann zugemacht werden.

Bei Verwendung von Custom Skill: weiterhin Port 3000 erreichbar haben. Die relevanten Einträge aus der alten config.json in die neue übernehmen...

Gruß, Joachim
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Sedonion am 16 April 2019, 11:33:51
Vielen Dank!
Das hilft mir sehr. Ich nutze nur den Smart Home Skill, daher sollte das klappen.

Denn den Bereich des Filters von früher Raum zu dem alexaName Attribut wäre mir sicher durchgerutscht.
Und wenn meine Frau Abends das Licht nicht aus bekommen würde, wäre es nicht gut für meine Gesundheit :)
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: MadMax-FHEM am 16 April 2019, 11:42:15
Was ich nicht weiß (weil ich es [noch] nicht selber durchgespielt habe):

ob eine neue Gerätesuche angestoßen werden muss (vermutlich: ja)...
...und wenn ja: dann musst du (falls genutzt) auch (vermutlich) die Routinen neu mit den "neuen" Geräten "verknüpfen"...

EDIT: ein Löschen und neu Anlegen des Alexa-Moduls (define Alexa alexa) ist (vermutlich) nicht nötig. Schadet aber (vermutlich) auch nicht...

Viel Erfolg!

Gruß, Joachim

EDIT: steht mir noch bevor, also der "Umzug" bzw. eher die "Bereinigung". Habe aktuell 3 fhem die per Alexa gesteuert werden (2 Testsysteme und mein Aktivsystem). Und 2 alexa-fhem Installationen ;)  Eine (noch "alt") auf meinem Aktivsystem wo aber noch wenige Geräte per Alexa gesteuert werden. Und dann ein neues Testsystem mit alexa-fhem-Connector, welcher lokale Test-Dummy steuert und die eigentlichen Geräte meines "alten" Testsystems. Die Custom Skill Dinge des "alten" Testsystems werden (noch) von der "alten" dort alexa-fhem Installation "beatmet"... D.h. ich habe noch einiges mehr zu tun ;) Aber es ist ja Ostern...
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Prof. Dr. Peter Henning am 20 April 2019, 03:54:10
Na, da häng ich mich mal ran.

LG

pah
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Amenophis86 am 20 November 2019, 16:04:15
Zitat von: MadMax-FHEM am 16 April 2019, 11:16:22
- Alte Installation löschen (oder ganz weit weg "moven")
- Alte config.json ebenso: löschen (irgendwo weg sichern)

Joachim kannst du mir mal sagen wo ich standardmäßig diese Dinger finde? Das einrichten der alten Skills ist sehr lange her :D
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: MadMax-FHEM am 20 November 2019, 17:13:06
Zitat von: Amenophis86 am 20 November 2019, 16:04:15
Joachim kannst du mir mal sagen wo ich standardmäßig diese Dinger finde? Das einrichten der alten Skills ist sehr lange her :D

Eieiei...

Standard...

Also ich hab meine alexa-fhem "Installation" unter: /home/pi/alexa-fhem
Daher auch die config.json hier: /home/pi/.alexa

Allerdings wird wohl (im Wiki) auch folgendes "beschrieben":

alexa-fhem "Installation": /opt/fhem/alexa-fhem
Daher dann config.json in: /opt/fhem/.alexa

Was immer gleich sein sollte ist das "Start-Script":

/etc/init.d/alexa

bzw.

/etc/systemd/system/alexa

Je nach System in dem einen oder anderen Verzeichnis (Name muss nat. nicht zwingend alexa sein ;)  )...
...in den Dateien sollte man auch sehen können, wo denn die alexa-fhem "Installation" und das config.json zu finden sind...
...falls man unter den von mir genannten Pfaden nicht fündig geworden ist... ;)


Also ich würde mal die config.jason "aufheben" aber "wegkopieren"...
...alles genannte löschen (vorher mal den Service deaktivieren)...

Eventuell auch mal das Alexa-Device in fhem löschen...
...und dann nach Wiki neu anlegen...

Dann sollte nichts mehr gegen eine neue Installation sprechen und die geht ja wirklich einfach (sollte) und nach Wiki...

Falls dann noch "alte" Sachen laufen sollen, also entweder Custom Skill oder (warum auch immer "eigener" Smart Home Skill), dann einfach die entsprechenden Einträge aus der "alten" config.json in die neue, automatisch angelegte übernehmen (sollte unter "Edit Files" auftauchen).

Und nat. weiterhin den Port auf lassen und forwarden...
...ist bei Verwendung von NUR fhem-Connector ja nicht nötig...

Bei Fragen einfach noch mal hierher ;)

Viel Erfolg, Joachim
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Amenophis86 am 20 November 2019, 17:15:21
Joa hatte es auch unter /home/pi/... alles liegen, jetzt habe ich den Connector und alles liegt unter /opt/fhem. Damit läuft das zwar aber mein Coustum Skill will nicht mehr trotz einfügen der alten Daten. Mal sehen, woran es liegt. Aber dank dir für die Antwort.
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Amenophis86 am 20 November 2019, 17:20:33
Also jetzt ist die config.json wohl die Datei alexa-fhem.cfg und dort hatte ich einfach zusätzlich die Daten meiner alten Config.Json eingefügt allerdings kommt folgender Fehler bei der Lambda:

{
  "errorType": "SyntaxError",
  "errorMessage": "Unexpected token < in JSON at position 0",
  "trace": [
    "SyntaxError: Unexpected token < in JSON at position 0",
    "    at JSON.parse (<anonymous>)",
    "    at IncomingMessage.result.on (/var/task/index.js:36:27)",
    "    at IncomingMessage.emit (events.js:203:15)",
    "    at endReadableNT (_stream_readable.js:1143:12)",
    "    at process._tickCallback (internal/process/next_tick.js:63:19)"
  ]
}


START RequestId: 4c3c6449-a2f4-4d98-8726-53ab35c35bc7 Version: $LATEST
2019-11-20T16:12:50.202Z xxxx INFO EVENT: [object Object]
2019-11-20T16:12:50.203Z xxxx INFO CONTEXT: [object Object]
2019-11-20T16:12:51.028Z xxxx INFO STATUS: 503
2019-11-20T16:12:51.040Z xxxx INFO HEADERS: {"date":"Wed, 20 Nov 2019 16:12:51 GMT","server":"Apache/2.4.10 (Raspbian)","content-length":"396","connection":"close","content-type":"text/html; charset=iso-8859-1"}
2019-11-20T16:12:51.042Z xxxx INFO BODY: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>503 Service Unavailable</title>\n</head><body>\n<h1>Service Unavailable</h1>\n<p>The server is temporarily unable to service your\nrequest due to maintenance downtime or capacity\nproblems. Please try again later.</p>\n<hr>\n<address>Apache/2.4.10 (Raspbian) Server at zselqatc07mzkkvu.myfritz.net Port 443</address>\n</body></html>\n"
2019-11-20T16:12:51.080Z xxxx ERROR Uncaught Exception {"errorType":"SyntaxError","errorMessage":"Unexpected token < in JSON at position 0","stack":["SyntaxError: Unexpected token < in JSON at position 0","    at JSON.parse (<anonymous>)","    at IncomingMessage.result.on (/var/task/index.js:36:27)","    at IncomingMessage.emit (events.js:203:15)","    at endReadableNT (_stream_readable.js:1143:12)","    at process._tickCallback (internal/process/next_tick.js:63:19)"]}
END RequestId: xxxxx
REPORT RequestId: xxxx Duration: 956.42 ms Billed Duration: 1000 ms Memory Size: 128 MB Max Memory Used: 26 MB
Unknown application error occurred
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: MadMax-FHEM am 20 November 2019, 17:48:09
Wie sieht denn deine config.json jetzt aus?

Die "Secrets" halt aus-ixen... ;)

EDIT: ich kann nachher mal schauen, ob ich noch eine Sicherung finde, wo ich meine Custom etc. eingetragen hatte...

Gruß, Joachim
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: Amenophis86 am 20 November 2019, 18:28:06
Fehler gefunden. Für alle, die das gleiche Problem haben könnten. Habe folgendes gemacht, nach den hier genannten Schritten:

Im Verzeichnis /opt/fhem noch das Verzeichnis alexa angelegt
Im Verzeichnis /opt/fhem/alexa die key.pem und cert.pem aus der alten Config abgelegt
/opt/fhem/alexa und die *.pem Dateien mittels chown fhem übergeben
In die alexa-fhem.cfg die alten Daten hinzugefügt, diese sieht nun so aus:

{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "./alexa/key.pem",
        "certFile": "./alexa/cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxx"
    },
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   },
   "connections" : [
      {
         "filter" : "alexaName=..*",
         "server" : "127.0.0.1",
         "port" : "8083",
         "uid" : 999,
         "name" : "FHEM",
         "webname" : "fhem"
      }
   ]
}


Alexa neustarten und zack es geht der Connector mit dem coustum Skill :) Danke für die Hilfe
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: MadMax-FHEM am 20 November 2019, 18:51:29
Na dann... ;)

Gerne, Joachim
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: darkness am 22 November 2019, 16:53:37
Danke für die kleine Anleitung hier. Ich konnte meine Alexa auch dazu bewegen, wieder auf mich zu hören :)

Aber wenn ich Gruppen schalten möchte (z.b. Schalte das Licht im Raum Küche ein) geht das nur über Custom Skills? Habe gesehen dass es auch mittels Lightscene/Structure gehts. Aber ich möchte ggf. auch per Sprache alles ausschalten.

Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: MadMax-FHEM am 22 November 2019, 17:23:22
Geht entweder per Structure (denke ich) oder einem "Sammel-Dummy", der dann eben z.B. per Routine (oder auch einfach so: Dummy-Name "Alle Lichter" ;)  ) "gestartet" wird und dann eben ein Notify/DOIF/... was dann eben "alle Lichter" ausschaltet...

Oder du erstellst Gruppen in der Alexa-App und sortierst dann dort deine Geräte hinein.

Mit Gruppen in der App geht dann sowas wie: Alexa, schalte das Licht im Wohnzimmer ein/aus.

Sofern du eine Gruppe "Wohnzimmer" hast und dort ein paar Geräte vom Typ Licht hast ;)

Alles andere geht dann nur mit Custom Skill...

Gruß, Joachim
Titel: Antw:Vom "alten" alexa_fhem" zu neuem "alexa-fhem"
Beitrag von: darkness am 24 November 2019, 10:17:19
Danke, für die Tipps. Über den CustomSkill ist es leider immer etwas sperrig.Daher werde ich es mal so versuchten.