FHEM Connector - Alexa - 2 FHEM instancen und je ein Alexa account

Begonnen von Kohle77, 18 November 2020, 14:16:42

Vorheriges Thema - Nächstes Thema

Kohle77

Hallo,
ich habe auf einem PI (eine HW), zwei FHEM Server gleichzeitig am laufen die eine KNX Schnittstelle nutzen.
In FHEM1 habe ich Alexa konfiguriert und kann damit auch Geräte schalten.

https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa

Jetzt wollte ich einfach in dem zweiten FHEM server (GUI über anderen port) noch ein Alex Gerät anlegen.
Mir ist aufgefallen das sich die beiden beim öffnen der ssh verbindung wohl in die Quere kommen.

Anscheidend benutzen beide die /usr/bin/ssh und immer wenn Alexa 1 eine Verbindung aufbaut fällt die Verbindung von Alexa 2 weg. Bis Alexa 2 dann wieder started und Alexa 1 getrennt wird.

Hat jemand eine Idee wie ich das hinbekommen kann?

Gruß
Christian

MadMax-FHEM

Eine alexa-fhem Instanz kann Geräte aus mehreren fhem steuern.

Einfach in diesem alexa-fhem, also in der alexa-fhem.cfg eine 2te Connection zum 2ten fhem eintragen.

Allerdings läuft das dann mit EINEM Amazon Account.

Wenn du 2 Amazon Accounts brauchst/willst, dann wird das aktuell (verm.) nur über 2 tatsächliche HW gehen...
Zumindest lautet ja der Thread-Titel so als hättest/wolltest du 2 Amazon Accounts nutzen...

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)

JoWiemann

Hallo,

Du kannst zwei Fhem mit Fhem2Fhem koppeln. Somit brauchst Du nur eine Alexa (Frauen können sehr eifersüchtig sein)

Grüße Jörg

https://wiki.fhem.de/wiki/FHEM2FHEM
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Kohle77

Hi,
das habt ihr schon richtig verstanden.
Ein raspberry PI
Zwei Amazon Accounts (Haushalt 1 und Haushalt 2 eben oder linkes und rechtes Haus)
Zwei FHEM instanzen auf diesem PI (FHEM1 mit port 9090 und FHEM2 mit 8090).
Ich habe inzwischen gesehen das unter <fhem> nur in FHEM1 eine .ssh mit den keys existiert aber nicht für FHEM2.
Denke das irgendow in der configuration von dem connector ./fhem/.ssh/ eingetragen ist so das in ./fhem2/ erst gar keine Keys generiert werden.

Gruß
Christian

MadMax-FHEM

Vermutlich laufen beide fhem unter demselben User fhem.

/opt/fhem/.ssh hat nichts mit "wo läuft fhem" bzw. "wo wurde fhem gestartet" zu tun, sondern es werden eben im Home-Verzeichnis des Users fhem (und das ist /opt/fhem) im .ssh Ordner die Schlüssel erzeugt.

Du müsstest also einen User fhem2 mit Home /opt/fhem2 anlegen, welcher eben fhem2 startet...

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)

Kohle77

Ok,
werde ich mal versuchen. Wir aber einen moment dauern.

Gruß
Christian

MadMax-FHEM

Kein Problem, ich hab Zeit... ;)

Vorher mal alles sichern!

Und: das Geschriebene "hilft" aber (evtl.) nur bzgl. der ssh-Dateien. Ob (dann) alexa-fhem so funktioniert wie du es brauchst weiß ich nicht...

Viel Erfolg, 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)

Kohle77


Hallo,
als erstes habe ich mir mal von dem original fhem user GID and Gruppe angeschaut:
pi@FHEM2020:~ $ id fhem
uid=999(fhem) gid=20(dialout) Gruppen=20(dialout)

Jetzt den user 2 hinzugefügt:
pi@FHEM2020:~ $ sudo useradd fhem2

Anzeige der jetzigen gruppe:
pi@FHEM2020:~ $ id fhem2
uid=1001(fhem2) gid=1001(fhem2) Gruppen=1001(fhem2)

änder der gid:
pi@FHEM2020:~ $ sudo usermod --gid 20 fhem2

So sieht es for fhem2 nach der änderung aus:
pi@FHEM2020:~ $ id fhem2
uid=1001(fhem2) gid=20(dialout) Gruppen=20(dialout)

Noch die bash hinzufügen:
pi@FHEM2020:~ $ sudo usermod -s /bin/bash fhem2

aus /etc/passwd | grep fhem
fhem:x:999:20::/opt/fhem:/bin/bash
fhem2:x:1001:20::/home/fhem2:/bin/bash

Sehen also gleich aus.

sudo nano /etc/systemd/system fhem2.service
change here workdir and user to fhem2/

Ändern der files in fhem2 ordner für den user fhem2
sudo chown -R fhem2: /opt/fhem2/

sudo systemctl daemon-reload
sudo systemctl start fhem2


Schaue ich nun in das alexa log sehe ich:
[19.11.2020, 09:16:12] No suitable, writable users home directory found
Startup rejected. Reason: TypeError: Path must be a string. Received undefined
[19.11.2020, 09:16:34] using config from /opt/fhem2/alexa-fhem.cfg
*** CONFIG: parsed completely
[19.11.2020, 09:16:34] os.homedir()=/home/fhem2
[19.11.2020, 09:16:34] os.homedir() set to /home/fhem2, but this is not writable
[19.11.2020, 09:16:34] process.env.HOME=/home/fhem2
[19.11.2020, 09:16:34] process.env.HOME set to /home/fhem2, but this is not writable
[19.11.2020, 09:16:34] process.env.HOMEPATH=undefined
[19.11.2020, 09:16:34] process.env.USERPROFILE=undefined
[19.11.2020, 09:16:34] process.env.PWD=undefined
[19.11.2020, 09:16:34] No suitable, writable users home directory found
Startup rejected. Reason: TypeError: Path must be a string. Received undefined

Die Frage ist jetzt für mich mit welchem user wird der connector gestartet?
Wie finde ich das den raus bzw. wie ändere ich das?

Gruß
Christian

MadMax-FHEM

#8
Da bin ich leider überfragt...

Aber du hattest auch den "Original-User" fhem schon verändert.
Der hat normalerweise weder Passwort noch Login-Shell... ;)
(ist aber verm. nicht das Problem hier)

Wenn du in der Console als fhem2 eingelogged bist (solltest du mit deinen Änderungen ja können) und dann cd ~ (also cd Home) ausführst, was passiert?
In welchem Pfad "stehst" du dann?

EDIT: evtl. bzgl. Anlegen des fhem Users hier noch mal vergleichen: https://debian.fhem.de/ -> "Manual Installation"...

Gestartet wird alexa-fhem durch das angelegte Alexa-Modul...

Mehr weiß (verm.) nur Andre (justme1968) oder gvzdus...

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)

Kohle77

Hi,
nein den original user fhem habe ich nicht verändert.
der login als fhem oder fhem2 geht nicht da ja keine ssh login erlaubt ist für diese user.
Dann hoffe ich mal das einer von Ihnen mir da vielleicht weiterhelfen kann.

Gruß
Christian

MadMax-FHEM

#10
Zitat
aus /etc/passwd | grep fhem
fhem:x:999:20::/opt/fhem:/bin/bash
fhem2:x:1001:20::/home/fhem2:/bin/bash
Sagt aber was anderes...

Bei einer Standard-fhem-Installation steht da nicht /bin/bash (also doch eine Shell) sondern /bin/false ;)

Aber ja, da bleibt leider nur abwarten, ob die genannten etwas wissen/helfen können...

EDIT: und wie du siehst ist eben das Home von fhem2 NICHT /opt/fhem2 sondern /home/fhem2 (was es vermutlich nicht mal gibt ;)  )!!

EDIT: was auch hierzu passen könnte
Zitat
19.11.2020, 09:16:34] No suitable, writable users home directory found

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)

Kohle77

Hi,
nach dem ändern des pfades in der /etc/passwd, einem reboot habe ich folgende Fehler in the FHEM GUI der da sagte das die rechte wohl irgendwie fehlen und ich soll doch chmod 755 /opt/fhem2 ausführen.
Das auch gemacht.
Siehe da danach hatte ich in /opt/fhem2/.ssh auch die key dateien.

Danke für die Hilfe.
Werde es jetzt mal noch eins zwei Stunden beobachten ob es wirklich läuft und morgen in FHEM2 die ersten devices anlegen.

Gruß
Christian

MadMax-FHEM

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)

Kohle77