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

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#1005
Hmmm bei mir ist es und bleibt es anders:

bei dem genannten Aufruf in der Web-Cmd von fhem landet die erzeugte "env-Datei" in '/' und nicht (wie zu erwarten) in '/root/'...

Und laut den Fehlermeldungen (wenn ich die richtig interpretiere) aus deinem Post 997 passiert es beim Einlesen der Config:


    at Function.User.storagePath (/volume1/@appstore/FHEM/alexa-fhem/lib/user.js:30:15)
    at Function.User.configPath (/volume1/@appstore/FHEM/alexa-fhem/lib/user.js:34:25)
    at Server._loadConfig (/volume1/@appstore/FHEM/alexa-fhem/lib/server.js:30:25)


Hast du noch einen anderen User auf dem System?
Vielleicht die Installation verschieben, damit dieser User Zugriff (schreiben der Logdatei) auf /opt/fhem/alexa-fhem hat (dort liegt doch deine Installation?) oder diesen User dann in dialout (sollte reichen / wobei bei dir? ;)  ).
Und dann im Startscript diesen User statt "pi" eintragen...


Oder vielleicht mal (obwohl ja unnötig/unsinnig) in das Startscript folgendes (ist quasi das "Original" nur mit 'root' statt 'pi'):


        su - "root" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"


oder (obwohl ebenfalls unnötig/unsinnig) ein "sudo" vor die Aufrufe des DOIF...
...wie beim "Original DOIF"...

Ich habe eben noch mal bei mir getestet:

wenn ich {system("printenv > ~/env")} absetze landet die Ausgabe in /env und das dort angezeigte HOME=/
wenn ich {system("sudo printenv > ~/env")} absetze landet die Ausgabe ebenfalls in /env ABER: HOME=/root

Ich habe auch je nach Aufruf eine andere Shell und einmal wird USER=root (bei sudo) ausgegeben und einmal NICHT (ohne sudo).

Wie sind bei dir die unterschiede??
Gibt es da tatsächlich keine??

Was man so alles über sein System lernt...
Hätte ich auch nicht gedacht...

EDIT: ich bin jetzt (weil's mich interessiert hat was da ausgegeben wird) noch mal zu Post 989 gesprungen und da ist es doch genauso?? Also kein USER und HOME=/ statt USER=root und HOME=/root     Jetzt bin ich etwas verwirrt?? Was ist nun bei dir??

EDIT3: so noch mal gelesen. Es kommt wohl drauf an, dass wenn du aus fhem startest (DOIF/Dummy), dann ist HOME=/ und wenn du es auf der Console startest HOME=/root (wie es zu erwarten ist). Dann passt auch ~/.alexa/config.json -> HOME=/root -> /root/.alexa/config.json  Wenn du es aus fhem startest (zumindest lese ich das jetzt so aus dem geänderten Post) HOME=/ -> ~/.alexa/config.json -> /.alexa/config.json und das passt ja nicht. Und dann habe ich trotzdem das Gefühl als ob es ihn beim Zusammenbauen des Pfades "zerbröselt" weil '/' "plus" '.alexa' irgendwie nicht hinhaut.

EDIT2: und sorry du hast ja nicht unter /opt/fhem/alexa-fhem installiert. Aber im Prinzip gilt dasselbe ;)

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)

Wolle02


Zitatwenn ich {system("printenv > ~/env")} absetze landet die Ausgabe in /env und das dort angezeigte HOME=/
wenn ich {system("sudo printenv > ~/env")} absetze landet die Ausgabe ebenfalls in /env ABER: HOME=/root

Ja hol mich doch der ........
Das war es  :D :D * Feuerwerk*

Mein Notify sieht jetzt so aus:

Alexa_FHEM_Schalter {if (ReadingsVal("Alexa_FHEM_Schalter","state","status") eq "start") {
              system("sudo /usr/local/etc/rc.d/alexa.sh start &")
  }
elsif (ReadingsVal("Alexa_FHEM_Schalter","state","status") eq "stop") {
              system("/usr/local/etc/rc.d/alexa.sh stop &")
  }
        elsif (ReadingsVal("Alexa_FHEM_Schalter","state","status") eq "status") {
              system("/usr/local/etc/rc.d/alexa.sh status &")
  }
}


Damit startet alexa-fhem jetzt auch aus FHEM heraus als Dienst. Stoppen und Statusabfrage ging vorher schon.

ZitatWas man so alles über sein System lernt...
Hätte ich auch nicht gedacht...

Das unterschreib ich mal dick. Hab ich wieder ne Menge gelernt. Root ist irgendwie doch nicht Root.  ;)

Joachim, vielen herzlichen Dank für deine geduldigen Bemühungen. Tolles Ding. Wenn ich dir mal bei irgendwas einen Stein in den Garten schmeißen kann...............jederzeit.  ;D

Gruß
Wolle  :Thumbs up:

reen

Hi zusammen,

nach dem ich das Wiki tutorial 1zu1 durchgegangen bin und es mehrmals überprüft habe, komme ich nicht weiter:
Wenn ich alexa-fhem ausführe erhalte ich folgende consolenausgabe:

[2017-02-18 12:52:07]
...
[FHEM] got: 2 results
[2017-02-18 12:52:07] [FHEM] homebridgeMapping: homebridgeMapping On=state,valueOff=/off|dim.0/,cmdOn=on,cmdOff=off Brightness=state,part=1,cmd=dim
/opt/fhem/alexa-fhem/lib/fhem.js:841
      if( match === undefined || match.length < 4 || !match[3] ) {
                                      ^

TypeError: Cannot read property 'length' of null
    at FHEMDevice.fromHomebridgeMapping (/opt/fhem/alexa-fhem/lib/fhem.js:841:39)
    at new FHEMDevice (/opt/fhem/alexa-fhem/lib/fhem.js:2095:8)
    at FHEM.<anonymous> (/opt/fhem/alexa-fhem/lib/fhem.js:739:39)
    at Array.map (native)
    at FHEM.<anonymous> (/opt/fhem/alexa-fhem/lib/fhem.js:736:31)
    at Request.self.callback (/opt/fhem/alexa-fhem/node_modules/request/request.js:186:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/opt/fhem/alexa-fhem/node_modules/request/request.js:1081:10)
    at emitOne (events.js:77:13)


habe dazu genau ein Post im Forum gefunden, bei dem das Problem wohl mit einem damaligen alexa-fhem Versionswechsel von 0.1.8 auf 0.1.9 behoben wurde, ich verwende aber schon 0.2.0

Hätte da vielleicht noch jemand eine Anmerkung zu?

SGi

> ...also wenn du bei der AWS Lambda Funktion auf Test klickst kommt result succeeded!? (also nur um noch mal was zu fragen ;)  )...

Korrekt.

> ...ist unter Monitoring was zu sehen?

Ja. sieht ok aus.

> ...es ist ein Trigger vom Typ "Alexa Smart Home"!?

Türlich.

> ...bin ich trotzdem der Meinung, dass es der Trigger sein muss......da komme ich nicht weg davon...

Ich auch nicht. Aber so viel mehr kann man ja nicht einstellen...

> Ich nehme mal an das hier hast du dann auch schon (einige Male) durch...

Jep.  Es ist ja auch nicht so, dass alexa-fhem kene Geräte findet (das geht), sondern die Alexa-App. Also kommt selbige offenbar nicht an die Daten dran, die von FHEM bereitgestellt werden.
Da der Port 3000 aber korrekt weitergeleitet ist, wäre meine nächste Vermutung, dass die ID (als eindeutiger Schlüssel sozusagen) nicht übereinstimmt. Tut er aber.

Welche Rolle spielen die Keys .pem hier? Würde etwa auch der Test aus AWS-Lambda heraus schon nicht funktionieren, wenn da was falsch wäre ? An welcher Stelle kann ich ein Feedback über einen Fehler bekommen, wenn ich die Gerätesuche aus der Alexa-App (Web) starte?

Merkwürdig finde ich auch die in meinem vorigen Post beschriebene Tatsache, dass alexa-fhem jedesmal einen Eintrag "removen" will, wenn man ein "set reload" in der Weboberfäche in FHEM auslöst. Ich benutze übrigens Version 0.2.0.

Es ist so toll, was Ihr hier schon alles gebastelt und zusammengetragen habt (freue mich auch schon auf einen custom skill als nächsten Schritt), und die "selbstverständlichen" Dinge gehen (noch) nicht...
Verdammte Axt :)   

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

MadMax-FHEM

Hi Sven,

hmm langsam ist es tatsächlich eigenartig...

Also dann noch mal "dumm" gefragt: aktiviert hast du den Trigger auch!?


Ob z.B. im AWS Lambda Cloudwatch bei Gerätesuche etwas kommt weiß ich nicht, habe ich noch nicht nachgeschaut (da es bei mir einfach gleich gelaufen ist) aber ich vermute mal, dass dort etwas zu sehen sein sollte...


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)

MadMax-FHEM

Zitat von: Wolle02 am 18 Februar 2017, 13:10:15
Ja hol mich doch der ........
Das war es  :D :D * Feuerwerk*

Mein Notify sieht jetzt so aus:

Alexa_FHEM_Schalter {if (ReadingsVal("Alexa_FHEM_Schalter","state","status") eq "start") {
              system("sudo /usr/local/etc/rc.d/alexa.sh start &")
  }
elsif (ReadingsVal("Alexa_FHEM_Schalter","state","status") eq "stop") {
              system("/usr/local/etc/rc.d/alexa.sh stop &")
  }
        elsif (ReadingsVal("Alexa_FHEM_Schalter","state","status") eq "status") {
              system("/usr/local/etc/rc.d/alexa.sh status &")
  }
}


Damit startet alexa-fhem jetzt auch aus FHEM heraus als Dienst. Stoppen und Statusabfrage ging vorher schon.

Das unterschreib ich mal dick. Hab ich wieder ne Menge gelernt. Root ist irgendwie doch nicht Root.  ;)

Joachim, vielen herzlichen Dank für deine geduldigen Bemühungen. Tolles Ding. Wenn ich dir mal bei irgendwas einen Stein in den Garten schmeißen kann...............jederzeit.  ;D

Gruß
Wolle  :Thumbs up:

Hi Wolle,

bitte gerne!

Der Spruch ist ja toll:

ZitatWenn ich dir mal bei irgendwas einen Stein in den Garten schmeißen kann......

Findet auch meine Freundin ;)

Klar, wenn ich mal was hab melde ich mich!

Viel Spaß!

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)

SGi

Zitat von: MadMax-FHEM am 18 Februar 2017, 16:24:33
hmm langsam ist es tatsächlich eigenartig...
Also dann noch mal "dumm" gefragt: aktiviert hast du den Trigger auch!?

Ja, und Oh Wunder - jetzt gehts, und ich hab nix geändert. Ausser dass ich jetzt die Gerätesuche zum ersten Mal per Alexa-Voicekommando und nicht über die Weboberfläche bei amazon gestartet habe (Danke an meine Frau, die mich ahnungslos drauf gebracht hat). Sehr wirr. Offenbar startet also nur das Sprachkommando den Trigger, aber nicht die Alexa-App-Weboberfläche ?

Jetzt hänge ich noch ein bisschen am gescripteten Start ohne Konsole, bekomme immer einen Error -1 bei allen Kommandos vom DOIF aus dem Wiki zurück (oder ist das ein ok) ?.  Wenn ich per DOIF starte und dann auf der Konsole den Status abfrage (beides unter Nutzer fhem, DOIF läuft nicht als sudo), wird alexa trotzdem als nicht aktiv angezeigt.

Und mir ist die Rolle des "FHEM.Alexa.Status" noch nicht klar, da der Dummy nirgendwo gesetzt wird.
Und warum wird im DOIF (triggert ja auf FHEM.Alexa) bei jedem Befehl "set FHEM.Alexa on" gesetzt ?

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

MadMax-FHEM

Fehler -1 bekomme ich (und einige andere "hier") auch...
...es funktioniert aber bei mir (und anderen auch)...

Ich habe mal mit einem sehr simplen {system...}-Aufruf getestet und auch -1 bekommen...

Es gab einige viele Posts weiter zurück auch mal (Lösungs)Vorschläge das -1 weg zu bekommen...
...kannst dich ja mal durchwühlen... ;)
...hat bei mir aber nicht funktioniert...

Ich lebe damit, ich starte ja nicht dauern neu...

Oder funktioniert es bei dir nicht?

Gruß und viel Spaß, 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)

MadMax-FHEM

Der Status und die Information wird im Startscript gesetzt...

Das Setzen des Status on usw. ist damit der DOIF "weiter schaltet"...

Das "zurückschalten" geschieht ebenfalls im Startscript...

Das sind die "Telnet-Aufrufe" über Port 7072...

Leider grad nur am Handy, daher nur so "kurz"...

Aber die Stellen sind im Startscript schon zu finden...

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)

SGi

Ah, der Tip mit Port 7072 wars, ich hatte offenbar noch eine alte Scriptversion, wo diese Befehle, die den Dummy beeinflussen, alle gar nicht drinstanden...
Jetzt seh ich wenigstens dass der Dienst nicht startet :-) <such>

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

MadMax-FHEM

#1015
Alte Scriptversion?

Es gibt doch nur eine...

Also ich spreche von dem Script:

/etc/init.d/alexa

Welches alexa-fhem automatisch bei Boot startet und mittels

sudo /etc/init.d/alexa start (bzw. stop, restart, status) dann per DOIF/Dummy gesteuert (bzw. Status abgefragt) wird...

Das Startscript ist im wiki verlinkt...

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)

Radikant

Hi,

ich habe alexa-fhem auf meinem Raspberry installiert.

Ich habe nur ein paar Probleme mit der Erreichbarkeit von außen unter IPv6.

Folgende Schritte habe ich schon unternommen:

1. Alexa-Fhem installiert und der IP der Raspberry und dem Port 3000 sehe ich lokal die Config.

2. Mich bei dynv6 registriert.

3. Einen neuen Host erstellt und dort die öffentliche IPv6 Adresse meines Raspberrys angegeben.

Jetzt kann ich die Config über die DynDns-Adresse nur lokal sehen, von einem andren Netzwerk nicht.  :(

Was mache ich falsch ?
Habe ich was vergessen ?  :o

Oder liegt vlt bei mir ein Verständnisproblem vor...

LG
Rudolf :D
Aller Anfang ist schwer...

justme1968

was meinst du mit config sehen?

aws lambda kann aktuell nur ipv4. d.h. du brauchst eine ip4 to ipv6 tunnel damit du deine ipv6 von der aws ipv4 erreichen kannst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Radikant

Zitat von: justme1968 am 19 Februar 2017, 11:13:38
was meinst du mit config sehen?

Mit Config meine ich Folgendes: (X sind von mir)
{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"5b2f2d03-xxxx-xxxx-xxxx-132e205a8715"},"payload":{}}

Zitat von: justme1968 am 19 Februar 2017, 11:13:38
aws lambda kann aktuell nur ipv4. d.h. du brauchst eine ip4 to ipv6 tunnel damit du deine ipv6 von der aws ipv4 erreichen kannst.

Heißt das, dass eine DynDns-Adresse nicht ausreicht?  ???

LG
Rudolf :D
Aller Anfang ist schwer...

EnderPhilipp

Zitat von: Radikant am 19 Februar 2017, 11:24:24
Heißt das, dass eine DynDns-Adresse nicht ausreicht?  ???
LG
Rudolf :D

Also ich habe einen DS-Light Anschluß und damit auch nur eine IPv6 Adresse.
Ich habe es auch erst mit dynv6 probiert.
Das hat aber nicht gereicht.

Ich habe bei feste-ip.net einen universeller Portmapper erstellt und als Zieladresse die DynDnsAdresse von dynv6 angegeben.

Damit funktioniert es bei mir.

Mfg
Philipp
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot