Autor Thema: Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration  (Gelesen 47989 mal)

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6379
  • NIVEAu ist keine Creme...
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #135 am: 07 Januar 2019, 16:04:33 »
Kurze Zwischenfrage? Wieso

Weil's geht ;)

Nein: damit ich verschiedene Namen habe.

Also Wohnung, Jarvis (aktuelle Namen).
Aber eigentlich als Test wie das geht damit ich sprachlich etwas angenehmer agieren kann:

Plan wäre:
Alexa sage der Wohnung schalte und walte ;)
("der Wohnung" get noch nicht weil er aktuell "nur" Wohnung heißt. Umbenamung steht noch aus: keine Zeit / nicht so wichtig)
Alexa sage Multimedia mache dies und das...
usw.


und laufen die alle auf den gleichen Amazon Nutzer? Der bei deiner Freundin auch?

Ja beide, bzw. alle (also alle Skills auch die 2 [mit dem heute 3] Smart Home Skills) laufen unter einem Account.

Bei meiner Freundin habe ich (auch aus anderen Gründen: offener Port) ha-bridge im Einsatz...
...wenn ich dort umstelle, dann unter einem anderen Account.

Gruß, Joachim
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Offline Amenophis86

  • Hero Member
  • *****
  • Beiträge: 2648
  • Anti-Statement befreite Zone ;)
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #136 am: 07 Januar 2019, 16:53:38 »
Danke für die Info.
FHEM auf Raspberry3, Betriebssystem Jessy, HMLan, HM Komponenten, LD382A, H801, Sonoff, Harmony Hub und vieles mehr. Einfach ein tolles universelles System

Offline Spezialtrick

  • Hero Member
  • *****
  • Beiträge: 1015
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #137 am: 07 Januar 2019, 20:45:20 »
Hallo gvzdus,

gerade ist mir aufgefallen, dass mein alexaFHEM den Status "stopped" meldet. Im Fhem Log zeigt sich:

2019.01.07 20:43:30 3: MyAlexa: alexaFHEM starting
2019.01.07 20:43:30 3: MyAlexa: using logfile: ./log/alexa-2019-01-07.log
2019.01.07 20:43:30 2: MyAlexa: starting alexa-fhem: /opt/fhem/alexa-fhem/bin/alexa -c ./alexa-fhem.cfg -s
2019.01.07 20:43:30 3: MyAlexa: read: end of file reached while sysread
2019.01.07 20:43:30 3: MyAlexa: alexaFHEM stopped

Im AlexaLazy Logging zeigen sich folgende Einträge:

[server] Fetching FHEM devices...
[FHEM] starting longpoll: https://localhost:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1546889856837
[server] Server emitted error: {"errno":"EADDRINUSE","code":"EADDRINUSE","syscall":"listen","address":"127.0.0.1","port":3000}
[server] Terminating - starting the listener not possible (another instance running?)
[server] Killing SSH on event process.exit
[server] this is alexa-fhem 0.5.2p6-FHEMlazy

Hast du eine Idee?  ???

Interessanterweise kann man trotzdem sämtliche Geräte schalten und auch neue Geräte hinzufügen.
« Letzte Änderung: 07 Januar 2019, 20:50:49 von Spezialtrick »
FHEM - ZBox - Homematic - Sonos - MiLight -Homekit

Offline gvzdus

  • Full Member
  • ***
  • Beiträge: 352
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #138 am: 07 Januar 2019, 20:50:29 »
Naja, das heisst, dass der Port 3000 schon von jemandem genutzt wird...
Wenn Du keinen Verdacht hast, sollte "lsof" Dir bei der Suche nach dem Schuldigen helfen.

[p.s.] Mutmaßlich läuft schon ein Alexa-Prozess, z.B., weil er klassisch für das FHEM.Alexa-gestartet wurde. Oder weil Du das Alexa-Device gelöscht hast und neu angelegt hast - beim Löschen wird der laufende Alexa-Prozess nicht beendet.
« Letzte Änderung: 07 Januar 2019, 21:00:59 von gvzdus »

Offline Spezialtrick

  • Hero Member
  • *****
  • Beiträge: 1015
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #139 am: 07 Januar 2019, 21:02:45 »
Eigentlich wird der Port nur von Alexa benutzt.

Ich hatte das "\n" in Verdacht... Habe es aus der Config gelöscht und nach einem erfolglosem Test wieder eingefügt. Nun Meldet mir das Log, dass es nicht mehr auch FHEM zugreifen kann.  :(

[FHEM] Fetching FHEM devices...
[FHEM] fetching: https://localhost:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
[FHEM] longpoll ended, reconnect in: 12200msec
[FHEM] There was a problem connecting to FHEM (https://localhost:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1).
[FHEM]   401: Authorization Required
[FHEM] There was a problem connecting to FHEM (https://localhost:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1).
[FHEM]   401: Authorization Required
[FHEM] There was a problem connecting to FHEM
[FHEM]   401: Authorization Required

Komischerweise habe ich daran aber nichts verändert.
« Letzte Änderung: 07 Januar 2019, 21:04:29 von Spezialtrick »
FHEM - ZBox - Homematic - Sonos - MiLight -Homekit

Offline gvzdus

  • Full Member
  • ***
  • Beiträge: 352
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #140 am: 07 Januar 2019, 21:05:26 »
Also:
  • ssh\n ist bedingungslos böse und schlecht, bitte \n entfernen.
  • Deine /opt/fhem/alexa-fhem.cfg enthält wohl keinen auth-Block (mit Username + PW), wohl aber die alte Config-Datei unter .alexa/config.json.
    Vorschlag: Rüberkopieren

Offline Spezialtrick

  • Hero Member
  • *****
  • Beiträge: 1015
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #141 am: 07 Januar 2019, 21:13:43 »
Danke für den schnellen Fix.

Kannst du mir erklären, wieso bisher kein Username und Passwort in der Config standen? Ich hatte immer das Gefühl, dass diese nach einer Verwendung "raus" gelöscht wurden.
FHEM - ZBox - Homematic - Sonos - MiLight -Homekit

Offline gvzdus

  • Full Member
  • ***
  • Beiträge: 352
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #142 am: 07 Januar 2019, 21:17:35 »
Wahrscheinlich lief Dein alter alexa-Prozess ewig weiter. Oder standen in der alten .alexa/config.json auch keine Zugangsdaten?

39_alexa liest die Zugangsdaten aus, wenn über Basic-Auth gearbeitet wird - bei SHA-verhashten Passwörtern hat er dazu keine Chance.
Hingegen merkt mein "alexa -A", dass Zugangsdaten nötig sind und fragt sie ab.

Ich stelle jetzt mal meine Version auch auf "~/alexa-fhem.cfg" um, mittelfristig wird ja ohnehin da die Config liegen.

Offline Spezialtrick

  • Hero Member
  • *****
  • Beiträge: 1015
Wahrscheinlich lief Dein alter alexa-Prozess ewig weiter. Oder standen in der alten .alexa/config.json auch keine Zugangsdaten?

39_alexa liest die Zugangsdaten aus, wenn über Basic-Auth gearbeitet wird - bei SHA-verhashten Passwörtern hat er dazu keine Chance.
Hingegen merkt mein "alexa -A", dass Zugangsdaten nötig sind und fragt sie ab.

Ich stelle jetzt mal meine Version auch auf "~/alexa-fhem.cfg" um, mittelfristig wird ja ohnehin da die Config liegen.

Ich habe die Credentials ehrlich gesagt nur bei der Installation angeben. In der mir bekannten Config standen diese nie drin.

Die Config unter .alexa/config.json kannte ich nicht.




Gesendet von iPhone mit Tapatalk Pro
FHEM - ZBox - Homematic - Sonos - MiLight -Homekit

Offline gvzdus

  • Full Member
  • ***
  • Beiträge: 352
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #144 am: 07 Januar 2019, 22:05:05 »
Wie angedroht, nun Version 0.5.3 auf Github und zum Download.

Änderungen gemäß CHANGELOG.md:

  • A ChangeLog
  • Default-Configuration moved from .alexa/config.json to ~/alexa-fhem.cfg
  • Process title is not changed, to see command line arguments in ps
  • alexaFHEM.ProxyConnection is set to the status of the SSH connection
  • some error cases handled in autoconfiguration (execution of SSH commands)
  • in the response, a header X-ProcTime is set to analyse the response time
      in the chain.
  • Compression on SSH connection turned on
  • winston-requirement removed from package.json

Upgrade:
  • alexa-fhem stoppen
  • Download / git update
  • bin/alexa -A laufen lassen als richtiger User
  • starten

Erläuterungen:

Dringend nötig ist das Update nicht, aber es zieht z.B. automatisch die config.json zu ~/alexa-fhem.cfg um, und das ist dann auch für den Start von alexa-fhem der Default-Ort ab 0.5.3, um weitere Probleme zu verhindern.

Bei "ps" nicht zu sehen, mit welchen Optionen ein Kommando aufgerufen wird, finde ich unethisch, deswegen die Änderung.

ProxyConnection: Einfach ins Alexa-Device gucken...

Antwortszeiten: Das ist nicht unwichtig: In einem Header "X-Proctime" wird jetzt zurückgemeldet, welche Antwortszeit das System hatte. Ich versuche die Kette von Lambda über SSH-Proxy bis zum lokalen Prozess zu analysieren, um zu gucken, wo man noch relevante Millisekunden rauskitzeln kann. Die Zahlen werde ich dann, wenn welche zusammengekommen sind, hier veröffentlichen: Ich habe dann 3 Messpunkte, nämlich Lambda, SSH-Proxy beim Verein und eben lokal.
Wer's partout nicht will: Zeile 92 in server.js auskommentieren.

Compression: SSH unterstützt von Haus aus Kompression. Und die ist bei einer mehrere Tage stehenden Verbindung natürlich viel schlauer als für den einzelnen Request. Das wird kein Speed bringen, aber weniger Daten, und mehr Entropie für bessere Verschlüsselung. Und vielleicht gibt es ja auch Leute, die ihre lokale Kiste über eine Mobilfunkanbindung oder Dorf-DSL angebunden haben. Falls es ssh-Versionen ohne Kompression geben sollte, muss sie halt wieder raus.

winston: Hatte ich vorübergehend für das Logging verwendet. Wer noch mal "npm install" eintippt, spart ein paar Bytes auf der SD-Karte.

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6379
  • NIVEAu ist keine Creme...
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #145 am: 07 Januar 2019, 22:17:01 »
Hi Georg,

mache ich gleich mal!

Dafür ist mein neues Testsystem ja da ;)

Fehlt da nicht noch ein npm install?
Also zwischen "Download / git update" und "bin/alexa -A"!?

EDIT: ich hab's mal gemacht (also das npm install). Hat wohl geklappt :) Also zumindest läuft es wieder und der Dummy lässt sich (weiterhin) schalten :) Kann ich irgendwas liefern/testen?

EDIT2: hier dann noch die Ausgaben beim Update:
fhem@raspberrypi:~/alexa-fhem$ git pull
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 11 (delta 6), reused 11 (delta 6), pack-reused 0
Unpacking objects: 100% (11/11), done.
From https://github.com/gvzdus/alexa-fhem
   cb9b67f..8ac6136  master     -> origin/master
Updating cb9b67f..8ac6136
Fast-forward
 CHANGELOG.md  | 15 +++++++++++++++
 bin/alexa     |  2 +-
 lib/server.js | 40 +++++++++++++++++++++++++++++-----------
 lib/user.js   | 31 +++++++++++++++++++++++--------
 package.json  |  5 ++---
 5 files changed, 70 insertions(+), 23 deletions(-)
 create mode 100644 CHANGELOG.md
fhem@raspberrypi:~/alexa-fhem$ npm install
(node:1412) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
fhem@raspberrypi:~/alexa-fhem$ bin/alexa -A
FHEM-Connectivity fine, CSRF-Token: csrf_649834378345030
alexa-fhem.cfg to write:
{
  "connections": [
    {
      "webname": "fhem",
      "port": "8083",
      "server": "localhost",
      "name": "FHEM",
      "filter": "alexaName=..*",
      "base_url": "http://localhost:8083/fhem"
    }
  ],
  "description": "alexa-fhem default config",
  "alexa": {
    "name": "alexa-fhem default",
    "bind-ip": "127.0.0.1",
    "publicSkill": true,
    "ssl": false,
    "ssh": "/usr/bin/ssh",
    "port": 3000,
    "disableCustomSkill": true
  }
}
Okay to write about file to /opt/fhem/alexa-fhem.cfg? [Hit Enter for okay, 'n' else]
SSH key seems to exist
Our SSH key is known at the reverse proxy, good!
[user]   executing: http://localhost:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&fwcsrf=csrf_649834378345030&XHR=1

Gruß, Joachim
« Letzte Änderung: 07 Januar 2019, 22:23:51 von MadMax-FHEM »
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Offline gvzdus

  • Full Member
  • ***
  • Beiträge: 352
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #146 am: 07 Januar 2019, 22:19:53 »
Kannst Du machen, räumt Winston weg, siehe meine Erläuterungen. Musst Du aber nicht.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19602
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #147 am: 08 Januar 2019, 18:30:45 »
der tunnel/proxy code ist jetzt auch in der 0.5.1 version die über sudo npm install -g alexa-fhem installierbar ist enthalten. wir sind also auf einem guten weg alles wieder zusammen zu führen.

wenn es keine probleme mit dem neuen alexa modul gibt werde ich auch das einchecken.

dank georg also demnächst wirklich für alle ganz einfach.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline gvzdus

  • Full Member
  • ***
  • Beiträge: 352
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #148 am: 08 Januar 2019, 21:42:28 »
> Konkret: Bald ist alles offiziell und es gibt nur noch eine Version: Die von Andre.

Wer Andres Modul einsetzt, kann von meiner Version auf Andres Version gehen. Wir arbeiten aber noch daran, dass "bin/alexa -A" auch in Andres Version ein Notnagel ist, wenn nicht alles per Startup durch 39_alexa.pm funktioniert.

Vorschlag: Nix tun, wenn man nicht leidensfähig oder selbsthilfefähgig ist: Bald ist lokal die Lösung fertig - auf Basis von Andres Weg und dem offiziellen alexa-fhem-Modull. Bald ist es wohl auch soweit, dass Ihr offiziell Andres Skill findet, den Skill verbindet, den Registrationkey (noch einmal) eingebt und alles auf der finalen Lösung ist. Bis dahin besser nix tun. Aber Mutige sind natürlich willkommen.

Mein alexa-fhem wird in der nächsten Version noch zusehen, diesen Übergang zu Andres offizieller und einziger Version möglichst smooth zu gestalten.

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6379
  • NIVEAu ist keine Creme...
Antw:Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration
« Antwort #149 am: 08 Januar 2019, 22:13:12 »
Hi Georg,

ich frage mal hier (aber auch im anderen Thread bei André):

aktuell habe ich ja 3 fhem die von 2 alexa-fhem Installationen "bearbeitet" werden...

Also meine bisherige Umgebung:

alexa-fhem "legacy", manuell "installiert" und als Systemdienst eingerichtet bzgl. Start (noch initd aber systemd kein Problem, mir fehlte nur die Zeit und macht ja jetzt keinen Sinn mehr) und "kontrolliert" in fhem mittels serviced-Modul (statt Dummy/DOIF).

Smart Home Skill (V3) + 2x Custom Skill

Mein Haupt-fhem und mein Test-fhem.
Da einige "Devices" noch auf dem Testsystem weilen (keine Zeit für den Umzug) ich diese aber per Alexa steuern will/wollte habe ich einfach eine 2te Connection in die config.json eingetragen: läuft. :)


Dann habe ich ja für alexa-fhem lazy (und auch für die "Erweiterung" von André) ein weiteres Testsystem aufgesetzt (nur zum Testen).
Aber da wird ja die config.json (jedesmal? auch bei Update?) automatisch geschrieben!?
Wenn ich da nun eine 2te Connection eintrage wird das ja jedesmal? wieder "rausgeworfen" oder liege ich hier falsch?
Bzw. wie trage ich sowas ein damit es bleibt.

Gleiches gilt ja (aktuell noch) für den bzw. die Custom Skill(s), die muss man ja auch weiterhin manuell eintragen oder braucht man dafür sogar eine weitere alexa-fhem Installation (wie ich verstanden habe: nein).

Ich weiß evtl. hier an dieser Stelle und beim aktuellen Stand der Dinge "unpassend" aber irgendwann wird es (zumindest für mich) relevant...

Danke, Joachim
« Letzte Änderung: 08 Januar 2019, 22:15:00 von MadMax-FHEM »
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...