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

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

Vorheriges Thema - Nächstes Thema

Ma_Bo

Ich habe folgendes bei mir im DOIF stehen und es läuft ohne Probleme:

DOELSEIF ([FHEM.Alexa] eq "status") ("sudo /etc/init.d/alexa status")

du wahrscheinlich

{system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")}

Gruß Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

dusti64

Hi Marcel und Danke...

ja genau, so steht es und ist auch so aus dem Wiki...
Wenn ich es ändere auf deinen Vorschlag, bekomme ich einen sudo-fehler:

Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Respektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach, bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben


Gruß Dusti
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht-Rollläden, Alexa mit 2 Echos, Homebridge, Hue, Instar

amenomade

Dein sudo funktioniert anscheinend nicht. Guck mal wieder in /etc/sudoers
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

dusti64

Da steht es so drin, wie im Wiki vorgegeben:

fhem ALL=(ALL) NOPASSWD: ALL
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht-Rollläden, Alexa mit 2 Echos, Homebridge, Hue, Instar

amenomade

Läuft fhem unter dem User fhem?

Wenn ja probier mal mit:
{system ("sudo -S /etc/init.d/alexa status")}
oder mit
"sudo -S /etc/init.d/alexa status"

Wenn immer noch nicht, dann mit:
"echo ''|sudo -S /etc/init.d/alexa status" (zwischen echo und pipe ist es zweimal single quote)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Die "saubere" Lösung ist folgendes in /etc/sudoersDefaults:%dialout !requiretty
Defaults:fhem !requiretty
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

dusti64

Guten Morgen und vielen Dank dafür!

Ich werde es heute Abend versuchen und melde mich dann...

Gruß Dusti
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht-Rollläden, Alexa mit 2 Echos, Homebridge, Hue, Instar

dusti64

@amenomade

nochmal vielen Dank und ich habe die Änderungen mal eingepflegt, doch leider keinen Erfolg :( egal was ich anstelle...

FHEM läuft unter dem User fhem - ja...spielt es eine Rolle, ob fhem ein Passwort hat oder nicht? Ich bekomme nämlich im Log folgenden Fehler:

[sudo] Passwort für fhem: Das hat nicht funktioniert, bitte nochmal probieren.
[sudo] Passwort für fhem:
sudo: 1 Fehlversuch bei der Passwort-Eingabe


Vielleicht kann mal jemand bitte eine kleine Übersicht erstellen, wie die Rechte auf die unterschiedlichen Pfade sind, wenn man sich bei der Installation ans Wiki hält?

Gruß Dusti
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht-Rollläden, Alexa mit 2 Echos, Homebridge, Hue, Instar

amenomade

Deswegen das"echo ''|sudo -S /etc/init.d/alexa status"

sudo -S = lese das Passwort aus Standard Input. Passwort wird da mit "echo ''" gepiped.
Natürlich wenn fhem ein Passwort braucht, musst Du echo 'passwort' | sudo machen.

Allerdings sollte aber mit deiner Definition in sudoers kein Passwort brauchen.  Ich bin aber immer noch der Meinung, dass dein Problem von deiner /etc/sudoers kommt. Hast du die mit "visudo" editiert (damit ein Syntax Check gemacht wird)? Hat deine Datei eine leere Zeile am Ende. Ist die Reihenfolge in sudoers richtig (die Reihenfolge definiert die Priorität)?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

der-sascha

Hallo,

mal eine kurze Frage bzgl. Alexa und FHEM. Ich habe es bereits auf einem Echo Dot laufen und wollte mir jetzt einen 2. bestellen für ein anderes Zimmer. Nun die Frage von einem "Neuling". Was muss ich tun um diesen auch mit FHEM zu nutzen. Muss ich diesen nur ins WLAN einbinden und unter meinem Amazon Konto verknüpfen und den FHEM Skill auswählen??

Kann mir jemand eine kurze Hilfestellung geben?

Danke & Gruß
Sascha

justme1968

nur in dein konto einbinden reicht.

wenn du je nach raum unterschiedliche kommandos oder defaults möchtest musst du die alexa-fhem config anpassen und/oder die entsprechenden readings im alexa device auswerten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dusti64

Zitat von: amenomade am 26 Juni 2017, 21:06:17
Deswegen das"echo ''|sudo -S /etc/init.d/alexa status"

sudo -S = lese das Passwort aus Standard Input. Passwort wird da mit "echo ''" gepiped.
Natürlich wenn fhem ein Passwort braucht, musst Du echo 'passwort' | sudo machen.

Allerdings sollte aber mit deiner Definition in sudoers kein Passwort brauchen.  Ich bin aber immer noch der Meinung, dass dein Problem von deiner /etc/sudoers kommt. Hast du die mit "visudo" editiert (damit ein Syntax Check gemacht wird)? Hat deine Datei eine leere Zeile am Ende. Ist die Reihenfolge in sudoers richtig (die Reihenfolge definiert die Priorität)?

Hi amenomade,

ja, es gibt eine leere Zeile am Ende und ich editiere die Datei mit nano...habe es aber auch mit visudo bearbeitet und keinen Fehler bekommen.
Folgendes steht jetzt dazu drin:
# User privilege specification
root    ALL=(ALL:ALL) ALL
Defaults:fhem !requiretty
Defaults:%dialout !requiretty
fhem ALL=(ALL) NOPASSWD: ALL

ich habe versucht, mal über putty direkt als User fhem zu "schalten", das ging auch nicht, es kam auch ein Berechtigungsfehler wegen dem fehlenden Passwort. Dann habe ich dem User fhem ein Passwort gegeben und im DOIF eingetragen:
(set FHEM.Alexa on, "echo 'passwort'|sudo -S /etc/init.d/alexa status")

Das ging, auch mit dem DOIF aus dem Wiki, selbst die "Glühbirnen" haben jetzt den richtigen Status, aber das soll es ja so eigentlich nicht sein...jedenfalls funktioniert es jetzt, nur nicht ganz so wie im Wiki beschrieben...Ist denn die Vergabe eines Passwortes für fhem für die Anleitung aus dem Wiki Voraussetzung?

Keinen Plan :( aber trotzdem Dank für deine Unterstützung!

Gruß Dusti
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht-Rollläden, Alexa mit 2 Echos, Homebridge, Hue, Instar

MandelHL

Zitat von: Scorpio90 am 15 November 2016, 10:42:15
Ja, genau so wie Du geschrieben hast habe ich es gemacht. Sicherheitshalber gleich nochmal hinterher :-)
Leider ohne Erfolg. Aber Dein Hinweis mit "sudo apt-get install npm" brachte den Fortschritt.

Nun ja, zumindest ein wenig. Jetzt habe ich folgende Fehlermeldungen :

root@FHEM:/alexa-fhem# npm install
npm http GET https://registry.npmjs.org/chalk
npm http GET https://registry.npmjs.org/commander/2.8.1
npm http GET https://registry.npmjs.org/nat-upnp
npm http GET https://registry.npmjs.org/node-persist
npm http GET https://registry.npmjs.org/request

npm ERR! Error: failed to fetch from registry: chalk
npm ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
npm ERR!     at ClientRequest.g (events.js:156:14)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1256:7)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /alexa-fhem/npm-debug.log npm
npm ERR!
npm ERR! System Linux 4.1.19-v7+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /alexa-fhem
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: chalk
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /alexa-fhem/npm-debug.log
npm not ok

Mein Raspberry ist die Version 2, also die vorletzte. Die sollte doch gehen, oder?

Mir liegt viel daran das zum laufen zu bringen, denn ich habe zu viele Aktoren und Sensoren sowie abhängige Vorgänge in FHEM
um einfach auf ein anderes System umsteigen zu können was mit Alexa läuft.

Hallo,

ich hänge exakt an der gleichen Stelle und weiß nicht weiter. Auch ich habe die Versionen 0.6.19 und 1.1.4.

Kann mir jemand helfen?

Danke und viele Grüße
Mandel

amenomade

Zitatnpm ERR! Additional logging details can be found in:
npm ERR!     /alexa-fhem/npm-debug.log
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MandelHL

Da steht das drin:
info it worked if it ends with ok
verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'install' ]
info using npm@1.1.4
info using node@v0.6.19
verbose config file /root/.npmrc
verbose config file /usr/etc/npmrc
verbose config file /usr/share/npm/npmrc
verbose caching /opt/fhem/alexa-fhem/package.json
verbose loadDefaults alexa-fhem@0.3.4
verbose readDependencies: using package.json deps
verbose where, deps [ '/opt/fhem/alexa-fhem',
verbose where, deps   [ 'chalk', 'commander', 'nat-pmp', 'nat-upnp', 'request' ] ]
verbose from cache /opt/fhem/alexa-fhem/package.json
info preinstall alexa-fhem@0.3.4
verbose from cache /opt/fhem/alexa-fhem/package.json
verbose readDependencies: using package.json deps
verbose cache add [ 'chalk@^1.1.1', null ]
silly cache add: name, spec, args [ undefined, 'chalk@^1.1.1', [ 'chalk@^1.1.1', null ] ]
verbose parsed url { pathname: 'chalk@^1.1.1',
verbose parsed url   path: 'chalk@^1.1.1',
verbose parsed url   href: 'chalk@^1.1.1' }
silly cache add: name, spec, args [ 'chalk', '^1.1.1', [ 'chalk', '^1.1.1' ] ]
verbose parsed url { pathname: '^1.1.1', path: '^1.1.1', href: '^1.1.1' }
verbose addNamed [ 'chalk', '^1.1.1' ]
verbose addNamed [ null, null ]
info addNameTag [ 'chalk', '^1.1.1' ]
verbose cache add [ 'commander@2.8.1', null ]
silly cache add: name, spec, args [ undefined, 'commander@2.8.1', [ 'commander@2.8.1', null ] ]
verbose parsed url { pathname: 'commander@2.8.1',
verbose parsed url   path: 'commander@2.8.1',
verbose parsed url   href: 'commander@2.8.1' }
silly cache add: name, spec, args [ 'commander', '2.8.1', [ 'commander', '2.8.1' ] ]
verbose parsed url { pathname: '2.8.1', path: '2.8.1', href: '2.8.1' }
verbose addNamed [ 'commander', '2.8.1' ]
verbose addNamed [ '2.8.1', '2.8.1' ]
verbose cache add [ 'nat-pmp@^1.0.0', null ]
silly cache add: name, spec, args [ undefined, 'nat-pmp@^1.0.0', [ 'nat-pmp@^1.0.0', null ] ]
verbose parsed url { pathname: 'nat-pmp@^1.0.0',
verbose parsed url   path: 'nat-pmp@^1.0.0',
verbose parsed url   href: 'nat-pmp@^1.0.0' }
silly cache add: name, spec, args [ 'nat-pmp', '^1.0.0', [ 'nat-pmp', '^1.0.0' ] ]
verbose parsed url { pathname: '^1.0.0', path: '^1.0.0', href: '^1.0.0' }
verbose addNamed [ 'nat-pmp', '^1.0.0' ]
verbose addNamed [ null, null ]
info addNameTag [ 'nat-pmp', '^1.0.0' ]
verbose cache add [ 'nat-upnp@^1.0.4', null ]
silly cache add: name, spec, args [ undefined, 'nat-upnp@^1.0.4', [ 'nat-upnp@^1.0.4', null ] ]
verbose parsed url { pathname: 'nat-upnp@^1.0.4',
verbose parsed url   path: 'nat-upnp@^1.0.4',
verbose parsed url   href: 'nat-upnp@^1.0.4' }
silly cache add: name, spec, args [ 'nat-upnp', '^1.0.4', [ 'nat-upnp', '^1.0.4' ] ]
verbose parsed url { pathname: '^1.0.4', path: '^1.0.4', href: '^1.0.4' }
verbose addNamed [ 'nat-upnp', '^1.0.4' ]
verbose addNamed [ null, null ]
info addNameTag [ 'nat-upnp', '^1.0.4' ]
verbose raw, before any munging chalk
verbose url resolving [ 'https://registry.npmjs.org/', './chalk' ]
verbose url resolved https://registry.npmjs.org/chalk
http GET https://registry.npmjs.org/chalk
verbose raw, before any munging commander/2.8.1
verbose url resolving [ 'https://registry.npmjs.org/', './commander/2.8.1' ]
verbose url resolved https://registry.npmjs.org/commander/2.8.1
http GET https://registry.npmjs.org/commander/2.8.1
verbose raw, before any munging nat-pmp
verbose url resolving [ 'https://registry.npmjs.org/', './nat-pmp' ]
verbose url resolved https://registry.npmjs.org/nat-pmp
http GET https://registry.npmjs.org/nat-pmp
verbose raw, before any munging nat-upnp
verbose url resolving [ 'https://registry.npmjs.org/', './nat-upnp' ]
verbose url resolved https://registry.npmjs.org/nat-upnp
http GET https://registry.npmjs.org/nat-upnp
verbose cache add [ 'request@^2.78.0', null ]
silly cache add: name, spec, args [ undefined, 'request@^2.78.0', [ 'request@^2.78.0', null ] ]
verbose parsed url { pathname: 'request@^2.78.0',
verbose parsed url   path: 'request@^2.78.0',
verbose parsed url   href: 'request@^2.78.0' }
silly cache add: name, spec, args [ 'request', '^2.78.0', [ 'request', '^2.78.0' ] ]
verbose parsed url { pathname: '^2.78.0', path: '^2.78.0', href: '^2.78.0' }
verbose addNamed [ 'request', '^2.78.0' ]
verbose addNamed [ null, null ]
info addNameTag [ 'request', '^2.78.0' ]
verbose raw, before any munging request
verbose url resolving [ 'https://registry.npmjs.org/', './request' ]
verbose url resolved https://registry.npmjs.org/request
http GET https://registry.npmjs.org/request
ERR! Error: failed to fetch from registry: chalk
ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
ERR!     at Request.emit (events.js:88:20)
ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
ERR!     at ClientRequest.g (events.js:156:14)
ERR!     at ClientRequest.emit (events.js:67:17)
ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1256:7)
ERR! You may report this log at:
ERR!     <http://bugs.debian.org/npm>
ERR! or use
ERR!     reportbug --attach /opt/fhem/alexa-fhem/npm-debug.log npm
ERR!
ERR! System Linux 4.0.9-v7+
ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
ERR! cwd /opt/fhem/alexa-fhem
ERR! node -v v0.6.19
ERR! npm -v 1.1.4
ERR! message failed to fetch from registry: chalk
verbose exit [ 1, true ]


Hilft das weiter? Danke.