[alexa-fhem | Generell] Alles zu Installation und damit verbundenen Problemen

Begonnen von prodigy7, 09 November 2016, 19:42:01

Vorheriges Thema - Nächstes Thema

UweUwe

Hallo,
Ich möchte gerne Folgendes zum Thema 3 Alexas auf 3 FHEM Instanzen nachfragen:
Es scheint mit sinnvoll, dass ich alle 3 FHEM Instanzen mit demselben Alexa Sklill/Alexa Account betreibe.
Mit ist aber nicht bekannt, wie ich dies dann einrichten muss.

1. Stimmt ihr mir zu, dass ein Skill/Account der richtige Weg ist?
2. Wo finde ich denn eine Anleitung, wie die dann die Einrichtung auf die 3 FHEM Instanzen durchführen muss?

Vielen Dank

justme1968

wie oben geschrieben: ein skill kann pro account nur ein mal aktiviert werden.

du trägst nach dem einrichten zwei zusätzliche connections in der config ein.

da amazon aktuell (im gegensatz zu homekit) nur ein 'zuhause' vorsieht wirst du aber vermutlich immer wieder auf probleme stoßen da gruppen namen eindeutig sein müssen. d.h. nur ein wohnzimmer usw.

ich vermute das du mit einer mischung aus getrennten accounts und skills und zusätzlich selektivem eintragen von devices aus jeweils anderen standorten am weitest kommst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

UweUwe

Sorry, hab mich nicht eindeutig ausgedrückt.
Ich möchte die 3 FHEM Instanzen nicht vermischen.
Eindeutige Namen habe ich in den 3 FHEM Instanzen vergeben.
Gerne würde ich die Echos in die unterschiedlichen Standorte mitnehmen.
Das bedeutet bei unterschiedlichen Accounts Ummelden des Echo auf unterschiedliche Accounts, wenn ich dies richtig verstehe ==> was aber nicht das große Problem darstellen sollte. Mehr ist aber nicht notwendig.

Euer Rat ist also: 3 Accounts bei Amazon aktiv haben, jede FHEM Instanz mit einem separaten Account aktivieren,
Die Echos, sofern man diese zwischen den verschiedenen FHEM Instanzen transferiert, an das entsprechende Amazon Konto anmelden. Korrekt?

gvzdus

Ja.
Und ich würde die 3 Instanzen von FHEM unter 3 verschiedenen Usern (auf Unix-Ebene1) laufen lassen - mit unterschiedlichen Homedirs. Sonst wird es mit der SSH-Verbindung nicht klappen, wenn das Homedir identisch ist.

UweUwe

Hallo, danke für die Antworten.
Die 3 FHEM Instanzen sind auf 3 völlig getrennten Raspberries, sind auch nicht im gleichen Netzwerk..  Dann kann ich doch die gleichen Homedirs (nämlich den Standard) verwenden. Die Netze von 2 Rapberries  sind dauerhaft über VPN verbunden..

gvzdus

Absolut! (= Ja, Du kannst dann die Default-Konfiguration verwenden).
Solltest Du die Raspis "clonen", dann achte darauf, dass Du in /opt/fhem/.ssh nicht überall den gleichen SSH-Key hast, sprich, lösche ihn auf dem Clone. Der Fehler wurde ein paar Mal von Nutzern gemacht.

UweUwe

Vielen Dank,
hab jetzt mit der Installation auf meiner zweiten FHEM-Instanz  begonnen und bin leider auf einen Fehler gestossen.

Die Installation von nodes und alexa-fhem auf Linux Ebene ist wohl fehlerfrei verlaufen.
FHEM Backup und Update ist durchgeführt, Neustart FHEM durchgeführt, Linux bisher nicht neu gestartet.
Bei define alexa alexa ist folgendes passiert:
alexaFHEM stopped; failed to connect to fhem: 401: Authorization Required.

Die automatisch generierte alexa-fhem.cfg (ohne Modifikationen) sieht folgendermassen aus:
{
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   },
   "connections" : [
      {
         "webname" : "fhem",
         "port" : "8083",
         "filter" : "alexaName=..*",
         "server" : "127.0.0.1",
         "name" : "FHEM",
         "uid" : 999
      }
   ]
}


Das WEB-device sieht folgendermassen aus:Internals:
   CONNECTS   77
   CSRFTOKEN  csrf_119086815468731
   DEF        8083 global
   FD         5
   FUUID      5c76d022-f33f-813e-661b-d831825ce0419146
   NAME       WEB
   NR         3
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2020-01-31 16:39:43   state           Initialized
Attributes:
   DbLogExclude .*
   JavaScripts codemirror/fhem_codemirror.js
   codemirrorParam { "theme":"blackboard", "lineNumbers":true }
   hiddenroom AlarmRoom
   longpoll   websocket
   mainInputLength 150
   plotfork   1
   stylesheetPrefix bright

Was mache ich falsch?



MadMax-FHEM

Hast du ein allowed-Device mit User/PW für die Web-Instanz!?

Der Fehler sagt ja eindeutig, dass alexa-fhem nicht auf fhem zugreifen kann/darf...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo, MadMax-FHEM, schön von dir zu hören.
Ja ich hab ein allowed auf Web-Instanz.
Internals:
   FUUID      5c7705af-f33f-813e-f415-b35f9c4c419746b1
   NAME       allowed_WEB
   NR         16
   STATE      validFor:WEB
   TYPE       allowed
   validFor   WEB
   READINGS:
     2020-01-31 16:39:46   state           validFor:WEB
Attributes:
   basicAuth  VmFnYWJ1bm<<<<<<<<<<<<<<Nlbg==
   validFor   WEB

Danke für den Hinweis. Wie sage ich dies nun alexa-fhem?

binford6000

ZitatWie sage ich dies nun alexa-fhem?

Füge mal die Zeile
"auth": {"user": "", "pass": ""},
in {connections} ein
also zB so:
"auth": {"user": "FhemUser", "pass": "XXX"},
VG Sebastian

MadMax-FHEM

Zitat von: binford6000 am 01 Februar 2020, 11:40:11
Füge mal die Zeile
"auth": {"user": "", "pass": ""},
in {connections} ein
VG Sebastian

So war es "früher"...
...mittlerweile gibt es sogar ein Attribut dafür...

EDIT: funktioniert aber (verm.) immer noch so...

Wenn du nach dieser Anleitung vorgegangen bist...

https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#401:_Authorization_Required

...da steht dein Fehler ja sogar in einem "Menüpunkt"... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

binford6000

Ah ok, bei alexa gibts schon ein Attribut dafür. Wieder was gelernt  ;)

UweUwe

Hallo MadMax,
das war der Fehler, vielen Dank. Ich finde des bescheiden, dass ich die Dokustelle nicht selbst gefunden habe.

MadMax-FHEM

Zitat von: binford6000 am 01 Februar 2020, 11:42:26
Ah ok, bei alexa gibts schon ein Attribut dafür. Wieder was gelernt  ;)

Tja man lernt nie aus... ;)

Zitat von: UweUwe am 01 Februar 2020, 11:50:52
Hallo MadMax,
das war der Fehler, vielen Dank. Ich finde des bescheiden, dass ich die Dokustelle nicht selbst gefunden habe.

Tja... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

sinemeter

Hallo zusammen!

Bevor ich mein Problem schildere möchte ich mich kurz bei Euch allen für das tolle Forum und die guten Tipps bedanken. Ich lese seit einigen Jahren hier gelegentlich mit und konnte viel von Euch lernen und bei mir zu Hause umsetzen.

Ich hoffe ich bin mit meinem Problem hier im richrigen Threat:

Ich möchte den alexa fhem-connector installieren auf meinem
Raspberry Pi3b unter Raspian stretch.

Auf diesem ist eine umfangreiche ansonsten perfekt laufende Fhem Installation mit etwa 20 Zigbee und Zwave Aktoren und Sensoren installiert.

Leider liefert mir

pi@raspi:~ $ sudo npm install -g alexa-fhem

nur:
(node:26472) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
alexa-fhem@0.3.4 /usr/local/lib/node_modules/alexa-fhem
├── commander@2.8.1 (graceful-readlink@1.0.1)
├── nat-pmp@1.0.0 (debug@0.7.4)
├── chalk@1.1.3 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@2.0.0, strip-ansi@3.0.1, has-ansi@2.0.0)
├── request@2.88.0 (aws-sign2@0.7.0, forever-agent@0.6.1, tunnel-agent@0.6.0, oauth-sign@0.9.0, is-typedarray@1.0.0, caseless@0.12.0, safe-buffer@5.2.0, aws4@1.9.1, isstream@0.1.2, json-stringify-safe@5.0.1, extend@3.0.2, performance-now@2.1.0, qs@6.5.2, uuid@3.4.0, combined-stream@1.0.8, mime-types@2.1.26, tough-cookie@2.4.3, form-data@2.3.3, http-signature@1.2.0, har-validator@5.1.3)
└── nat-upnp@1.1.1 (ip@1.1.5, xml2js@0.1.14, async@2.6.3)

pi@raspi:~ $ node --version
v8.11.1
pi@raspi:~ $ npm -v
1.4.21
(node:27396) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.



Auf meinem Raspberry pi 4 mit frisch installiertem Raspian Buster läuft die Installation problemlos.
Aber auf diesem ist fhem nur rudimentär drauf da ich diesen für etwas anderes benutzen möchte.

Ich bin nur mässig Linux begabt aber ich vermute das meine Version von npm zu alt ist.
Welche Linux befehle brauche ich um eine neuere Version von npm respektive nodejs zu installieren?
Das übliche apt-get update  bzw. upgrade helfen nicht. An einem Dist upgrade habe ich mich nicht wirklich herangewagt da vielfach davon abgeraten wird.

Vielen Dank schon einmal und Euch allen einen schönen Tag!

cu Danny