Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration

Begonnen von gvzdus, 23 Dezember 2018, 15:30:36

Vorheriges Thema - Nächstes Thema

Esjay

Habe eine neue Beobachtung gemacht.
Nach einem Shutdown restart, wird ja scheinbar eine neue config angelegt. In der neuen Config wird folgende Zeile nicht übernommen.

         "auth": {"user": "xxxxxx", "pass": "xxxxxx"},

Somit kommt es zu folgendem Fehler:
401: Authorization Required
[1/11/2019, 7:05:57 PM] [FHEM] There was a problem connecting to FHEM (http://localhost:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_303676723648976&XHR=1).


nach erneuten Eintragen der auth Zeile, versucht alexa-fhem wieder zu starten, was allerdings nicht funktioniert, da er folgenden Fehler bringt.

[1/11/2019, 7:10:04 PM] [FHEM] starting longpoll: http://localhost:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1547230204995
[1/11/2019, 7:10:05 PM] Server emitted error: {"code":"EADDRINUSE","errno":"EADDRINUSE","syscall":"listen","address":"127.0.0.1","port":3000}


Wenn ich jetzt über das Terminal die vorhandene PID kille, startet alexa-fhem wieder durch.

Frage: Sitzt das Problem vor der Tastatur, oder ist da noch etwas nicht ganz rund?

LG

justme1968

achtung: die wiki seiten werden gerade überarbeitet. es kann sein das nicht alles konsistent ist. spätestens montag sollte es wieder passen.


nein! die config wird nur ein mal automatisch erzeugt. und auch nur dann wenn das attribut alexaFHEM-config nicht gesetzt ist. nach dem einmaligen erzeugen der config wird das attribut automatisch gesetzt.

nach einem save wird alles gespeichert und beim nächsten neu start wird nichts automatisch überschrieben.

die version aus dem anderen thread macht schon einen backup falls es ein file gibt und das attribut nicht gesetzte ist. die nächste version die schon fertig ist liest ein vorhandenes file ein und ergänzt nur dinge für den proxy.


statt auth im config file zu setzen kannst du auch das alexaFHEM-auth attribut verwenden. dann taucht nichts im klartext auf.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

raimundl

Hallo!

Installation lt. Wiki ohne ein Problem durchgelaufen (5 Minuten)!
Skill-Verknüpfung noch offen - nach Erhalt der Einladung werde ich weiter berichten.

Dank an die Entwickler - Ich glaube, dass dieses Modul für die Zukunft von FHEM sehr wichtig war!

LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

raimundl

#198
Zitat von: raimundl am 11 Januar 2019, 19:42:30
Hallo!

Installation lt. Wiki ohne ein Problem durchgelaufen (5 Minuten)!
Skill-Verknüpfung noch offen - nach Erhalt der Einladung werde ich weiter berichten.

Dank an die Entwickler - Ich glaube, dass dieses Modul für die Zukunft von FHEM sehr wichtig war!

LG

Einladung erhalten, SkillID eingegeben und es hat wieder sofort funktioniert (mit Test-Dummy ein aus)!

Danke nochmals und

LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

justme1968

zum automatischen ändern von alexaName:

wir haben vorhin eingebaut das es auch für nicht private skills geht. ist im nächsten update enthalten. spätestens montag.


da ich dann schon mal dabei war noch ein kleines 'schamkerl' :)

mit der dann neuen version kann man mit set <alexa> reload <name> live ein fhem device im skill bekannt machen. das neue device wird auch direkt an amazon gemeldet, keine gerätesuche mehr nötig. statt dessen bekommt man eine push nachricht auf sein handy das es ein neues gerät gibt das man direkt steuern kann.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

sidi

Hallo zusammen,

nach der Zwangstrennung durch die Fritzbox verabschiedet sich der alexa Prozess.

In /tmp/alexa.stdout.log steht folgende Fehlermeldung:
/opt/fhem/alexa-fhem/lib/server.js:206
      setTimeout(()=>{ open_ssh(alexaConfig) }, delay);
                       ^

ReferenceError: open_ssh is not defined
    at Timeout.setTimeout [as _onTimeout] (/opt/fhem/alexa-fhem/lib/server.js:206:24)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)


In alexa.stdout.log stehen folgende Meldungen:
[12.1.2019, 03:46:05] [server] SSH: packet_write_wait: Connection to 88.99.31.202 port 58824: Broken pipe

[12.1.2019, 03:46:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20MyAlexa%20alexaFHEM.ProxyConnection%20status:running,txt:stderr=packet_write_wait:%20Connection%20to%2088.99.31.202%20port%2058824:%20Broken%20pipe%0D%0A;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_327390085030335&XHR=1
[12.1.2019, 03:46:05] [server] SSH: exited with 255 - will restart in 29.0703417759378 seconds
[12.1.2019, 03:46:05] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20MyAlexa%20alexaFHEM.ProxyConnection%20status:stopped,txt:Terminated%20with%20255,%20ssh%20will%20restart%20at%203:46:34;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_327390085030335&XHR=1
[12.1.2019, 03:46:34] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20MyAlexa%20alexaFHEM.ProxyConnection%20status:stopping,txt:alexa-fhem%20terminating;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_327390085030335&XHR=1
[12.1.2019, 03:46:34] [server] Killing SSH on event process.exit



Bin für jede Hilfe dankbar.

Gruß,
sidi

gvzdus

Den Bug hat mir schon Andre um die Ohren gehauen...

Ich habe in GIT und Download den Fix hochgeladen, müsstest Du aktualisieren...

FunkOdyssey

Es hat nicht zufällig jemand schon ein Dockerfile zu dieser Lösung zur Hand, oder?

justme1968

wartet mal mit dem docker kram bis zur endgültigen version.

und immer dran denken: mit docker verbaut man sich den autostart aus fhem.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

gvzdus

Liebe Beta-Tester,

jetzt ist der Zeitpunkt gekommen, Euch für das Testen zu danken!

Und herzlich zu bitten, von meinem Code Abstand zu nehmen, denn alles, was mir ein Anliegen war, ist in Andres Code drin, und dort ist noch viel mehr umgesetzt und alles noch einfacher geworden!

Meinen Branch, der auf der 0.4.4 von Andre beruhte, werde ich nicht weiter pflegen, schon die letzten Tage habe ich eigentlich nur mit Andre gemeinsam an dem gearbeitet, was Andre jetzt als offizielle Version 0.5.5 in das npm-Zentralverzeichnis hochgeladen hat.

Deswegen ist es für alle einfacher, wenn die Eigenheiten des Beta-Tests möglichst bald von den Maschinen verschwinden (z.B. Dinge wie das ,,-k" zum Killen von Alexa, oder die FHEM.Alexa-Devices).

Wie sieht die Migration aus?
Sehr ähnlich zum Wiki, der jetzt auch ganz anders aussieht:

- NodeJS braucht keine Updates im Vergleich zu meiner Version
- Ihr holt Euch Andres Version mit:

sudo npm install -g alexa-fhem

Alexa-Fhem liegt jetzt unter  /usr/lib/node_modules/alexa-fhem/ und /usr/bin/alexa-fhem

Die Konfigurationsdatei von Andres Version sieht etwas anders aus unter liegt später unter

~fhem/alexa-fhem.cfg

Wenn Ihr keinen Passwortschutz im Web auf FHEM habt, würde ich aber einfach der automatischen Neugenerierung vertrauen. Für diesen Fall am besten beim Vereinsserver abmelden, das geht so:

sudo -u fhem bash
ssh -p 58824 fhem-va.fhem.de unregister


Wenn Ihr eine Konfigurationsdatei gebaut habt, die etwas spezieller war, insbesondere auch Kennwörter eingetragen habt, sollte der Umzug zur neuen Konfigurationsdatei wie folgt ,,automatisch" gehen:

sudo -u fhem bash
ssh -p 58824 fhem-va.fhem.de unregister
/usr/bin/alexa-fhem -A
mv ~/.alexa/config.json ~/alexa-fhem.cfg


    Jetzt bitte in


    • FHEM-Web das Alexa-Device und - falls noch da - auch FHEM.Alexa, FHEM.Alexa.DOIF löschen.
    • Save config klicken
    [/liist]

    Nun muss das Alexa-Modul neu installiert werden. Dazu bitte einmal auf FHEM
update
shutdown restart


eingeben. Prüft bitte beim Update, ob 39_alexa.pm gut und erfolgreich installiert werden kann - vielleicht habt Ihr per Hand eine Version unter den falschen Rechten installiert, die FHEM jetzt nicht überschreiben kann.

Jetzt:

Noch einmal auf der Shell-Console gucken, ob keine alten ,,alexa" oder ,,ssh"-Prozesse laufen.

- Wenn wieder oben: ,,define alexa alexa" eintippen.

Wenn nach ein paar Sekunden die beiden Zeilen mit skillRegKey auftauchen, super!


Jetzt bei Amazon anmelden. Wenn Ihr die Geräte nicht doppelt verwalten wollt:
- Deaktiviert meinen Skill
- Geht auf Geräte und löscht entweder alle Geräte (ist ein Button), oder die mit meinem Skill verbundenen. Da die Gerätenamen gleich sind, sucht nämlich Alexa sonst ggf. bevorzugt die gleichen Geräte über meinen Skill.
- Sucht ,,FHEM Connector und verbindet ihn.
- Gebt den Schlüssel ein.

Fertig!

Die Schlüssel von ,,Andre" und ,,mir" sind übrigens frei austauschbar, aber der Beta-Test von meinem FHEMlazy-Skill läuft spätestens im März aus.

Und eine letzte Bitte:

Anders als beim Beta-Test dürft Ihr jetzt auch den Skill bewerten!

Seid bitte gnädig :-), aber andererseits ist es auch für uns alle spannend, durch einen beliebten Skill wenn Andre z.B. dadurch bei Amazon mehr Gehör findet, z.B. etwas wie scheduling (,,Alexa, schalte die Heizung für 2 Stunden auf 21 Grad" - geht in den USA schon) anzuregen.

Viel Erfolg bei der Umstellung, und ich helfe ggf. gerne - vorzugsweise im Forum!


Georg

raimundl

Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

Mickey

Danke für die tolle Arbeit -  :)

Es funktioniert soweit "fast" alles.
Ich bekomme nur keinen "skillRegKey"

Liebe Grüße, Michael

Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

gvzdus

Dass mit der aktuellen Version das Kommando "get alexa proxyKey" heisst und im Web nur kryptischer Kram steht, ist Dir bewusst?

Falls da nichts kryptisches steht, versuch bitte aus meiner (vorhin etwas aktualisierten) Anleitung den Schritt:

sudo -u fhem bash
ssh -p 58824 fhem-va.fhem.de unregister


Damit löscht Du Dich beim Vereinsserver, und beim nächsten Restart von alexa-fhem stellt der Installer fest: "Der Mann braucht einen neuen Schlüssel"

Mickey

Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael

Mickey

Sorry, ich habe jetzt FHEM mal neu aufgesetzt.

Mit Alexa funktioniert alles super.

Nur, wenn ich jetzt Änderungen mache, wie zum Beispiel
was anlege: define Test dummy --> es speichere und ein
shutdown restart eingebe, sind alle Änderungen weg.

Habe ich was übersehen?

Liebe Grüße, Michael
Zu mir:
Ich bin leider fast blind (EU Rentner) und nicht zu "faul" was nachzulesen. Bitte seht mir nach, wenn ich einmal zu viel frage oder auch mal Schreibfehler mache. Danke, Michael