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

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

Vorheriges Thema - Nächstes Thema

heuckmann

#840
Hallo Joachim,

die Antwort zu Deiner ersten Frage:

Geistige Umnachtung

Zu Deiner zweiten Frage:
[1/27/2017, 7:14:52 PM] using /home/pi/.alexa/config.json
[1/27/2017, 7:14:52 PM] Couldn't find a config.json file at '/home/pi/.alexa/config.json'. Look at config-sample.json for an example.
~

Das ist mir auch suspekt wo der Pfad hergesaugt wird ... ich suche mir grad einen Wolf...

Zu Deiner dritten Frage:

lässt sich Alexa starten und die Geräte gehorchen ÄUßERST brav - was mich wundert nachdem was ich hier in den Foren alles so gelesen habe ;)

Grüße

Martin


UPDATE:
======

Okay - Haben den Benutzer pi gegen root getauscht - läuft nun.
=============================================


Morrino

#841
Zitat von: baerbel am 24 Januar 2017, 07:23:39
Hi,

da du den "Standartport" für FHEMWEB verwendest gehe ich stark davon aus, dass du beim Anmelden Benutzername und Passwort eingibst. Sollte ich da richtig liegen, dann deine config.json wie unterstehenden anpassen:

{
    "alexa": {
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "applicationId": "amzn1.ask.skill.xxxxxxxxxxxxxxxxxxxxxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxx"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "auth": {
            "user": "<fhem_user_id",
            "pass": "<fhem_passwort>"
             },
            "ssl":true,
            "port": "8083",
            "filter": "room=<dein Alexa Raum>"
        }
    ]
}


Da ich bei mir FHEMWEB auf SSL am laufen habe findet sich bei mir auch noch der Eintrag

"ssl":true,

in der config.json.

ich hoffe, dass dir das weiterhilft -

Was dein Portweiterleitungsthema angeht: komisch, komisch .... evtl. mal intern auf dein fhem auf Port 3000 gehen, um zu prüfen ob da alles passt:

https://<interne_ip_fherm>:3000

auch dann solltest du folgendes sehen:

{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"a9fee4eb-7316-4752-a5cd-5b705f58f239"},"payload":{}}

Sollte das passen, dann deine Portweiterleitung nochmal ansehen - definitiv auch der korrekte Zielhost in der Weiterleitung eingetragen?

Grüße - Bernd

Hi Bernd,

also der erste Teil scheint schon einmal geholfen zu haben. Danke.
Habe SSL vor einiger Zeit nach dieser Anleitung eingerichtet:
https://waschto.eu/ssl

Das mit dem Port ist momentan noch offen. Selbst im internen Netz bekomme ich bei Port 3000 nur eine Fehlermeldung angezeigt:


baerbel


Morrino

Hi,

also zumindest findet er meinen Schalter:

[1/27/2017, 11:14:05 PM] Server listening on: https://:::3000
[1/27/2017, 11:14:06 PM] [FHEM] no alexa device found. please define it.
[1/27/2017, 11:14:06 PM] [FHEM] got: 1 results
[1/27/2017, 11:14:06 PM] [FHEM] Schalter.3 is switch
[1/27/2017, 11:14:06 PM] [FHEM] Schalter.3 has
[1/27/2017, 11:14:06 PM] [FHEM]   On [state;on,off]
  2017-01-27 23:14:06 caching: Schalter.3-state: off


Unter alexa.amazon findet er jedoch bis jetzt den Schalter noch nicht.
Kann das mit der fehlerhaften Portweiterleitung zusammen hängen?

Das ich von außen keine Meldung bekomme?

Gruß

baerbel

... hast du zwischen Client und FHEM noch was dazwischen? So wie es in dem Log aussieht läuft der Dienst - in Alexa.amazon wirst du nichts sehen, solange der Port auf 3000 von aussen nicht verfügbar ist -

Grüße - Bernd

Morrino

Hi,

ich habe keine Ahnung aber irgendwie funktioniert port 3000 jetzt.
Jetzt funktioniert auch das Steuern des Schalters

Vielen Dank für deine Hilfe

baerbel


Morrino

War ein kurzes Erfolgserlebnis.

Jetzt geht der Port 3000 wieder nicht.
Port 8083 (FHEM) und 46464 (FritzBox) erreiche ich von außen.

Port 3000 will irgendwie nicht

Schnatternde

Zitat von: Schnatterente am 23 Januar 2017, 19:09:23
Hey Leute,

ich scheitere schon am ersten Schritt:

sudo apt-get install nodejs-legacy

ergibt bei mir:
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
nodejs-legacy : Hängt ab von: nodejs (>= 0.6.19~dfsg1-3~) soll aber nicht installiert werden
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.


Habe ich da was mit den Versionen von nodejs übersehen?
Ich habe:
pi@raspberrypi:~ $ node -v
v4.7.2
pi@raspberrypi:~ $ nodejs -v
v4.7.2


Habs inzwischen rasugefunden. Durch Homebride installiere ich mir eine neuer node Version. Nach der Installation der neueren Version erscheint dieser Fehler. Habe extra ein neues System aufgesetzt um das herauszufinden. Habt ihr sowas schon mal gehabt?

PsychoJJ

Hallo zusammen,

weiß nicht ob ich hier richtig bin, aber ich probiers mal.  ;)
Bin nun auch glücklicher Besitzer eines Echos, habe ihn auch erfolgreich mit FHEM verbinden können.

Wenn ich "Geräteliste" von Echo aus auf aufrufe findet er allerdings keine Geräte.
Die Ansage beginnt denke ich normal mit "Ich kenne folgende Geräte", danach nichts.
Ebenso kann im reading von "MyAlexa" sehen das der Befehl in FHEM angekommen ist.

Unter der Amazon-App habe ich folgendes eingetragen:
FHEM_DEVICE    switch | thermostat | light    
FHEM_ROOM    kinderzimmer | test    
FHEM_SWITCH_ACTION    an | ein | aus | um    
FHEM_artikel    der | die | das | den

Jeweils natürlich in einer separaten Zeile und verschiedene Typen angelegt.

In FHEM habe ich einen Dummy zu Testzwecken angelegt mit
"attr AlexaName test" und
"AlexaRoom kinderzimmer".
genericDeviceType ist "switch"
Ähnliches habe ich auch mit ein paar Schaltern gemacht.

Unter Putty bekomme ich auch logischerweise " [FHEM] got: 0 results".

Alles natürlich mehrfach schon neu gestartet. FHEM, Server, etc.

Irgendjemand eine Idee?
Ich gehe davon aus das eigentlich alles richtig eingerichtet ist, schließlich komme ich ja auf den FHEM Server und kann die Geräteliste abrufen.
Es werden nur keine Geräte gefunden.

Vielen Dank für eure Hilfe!

Ich bin seit 3 Stunden daran und finde eigentlich keinen Fehler.  :o

MadMax-FHEM

#850
Zitat von: PsychoJJ am 01 Februar 2017, 12:10:08
Hallo zusammen,

weiß nicht ob ich hier richtig bin, aber ich probiers mal.  ;)
Bin nun auch glücklicher Besitzer eines Echos, habe ihn auch erfolgreich mit FHEM verbinden können.

Wenn ich "Geräteliste" von Echo aus auf aufrufe findet er allerdings keine Geräte.
Die Ansage beginnt denke ich normal mit "Ich kenne folgende Geräte", danach nichts.
Ebenso kann im reading von "MyAlexa" sehen das der Befehl in FHEM angekommen ist.

Unter der Amazon-App habe ich folgendes eingetragen:
FHEM_DEVICE    switch | thermostat | light    
FHEM_ROOM    kinderzimmer | test    
FHEM_SWITCH_ACTION    an | ein | aus | um    
FHEM_artikel    der | die | das | den

Jeweils natürlich in einer separaten Zeile und verschiedene Typen angelegt.

In FHEM habe ich einen Dummy zu Testzwecken angelegt mit
"attr AlexaName test" und
"AlexaRoom kinderzimmer".
genericDeviceType ist "switch"
Ähnliches habe ich auch mit ein paar Schaltern gemacht.

Unter Putty bekomme ich auch logischerweise " [FHEM] got: 0 results".

Alles natürlich mehrfach schon neu gestartet. FHEM, Server, etc.

Irgendjemand eine Idee?
Ich gehe davon aus das eigentlich alles richtig eingerichtet ist, schließlich komme ich ja auf den FHEM Server und kann die Geräteliste abrufen.
Es werden nur keine Geräte gefunden.

Vielen Dank für eure Hilfe!

Ich bin seit 3 Stunden daran und finde eigentlich keinen Fehler.  :o

Mal langsam reiten... ;)

Etwas viel und (für mich) wirre Infos...

So mal etwas Ordnung reinbringen:

was hast du getan bzw. warum gehst du davon aus, dass alles stimmt??

alexa-fhem Wiki abgearbeitet!?

Smart Home Skill bzw. Custom Skill angelegt?

Mit welchem Skill willst du steuern??

Smart Home Skill (grob):

Schalter, Licht, Thermostate ein/aus dimmen Temperatur einstellen
Dazu muss "genericDeviceType" passen, das Gerät die entsprechenden Befehle (an/aus/dim desired-temp o.ä.) können oder mit setList eben "beigebracht" werden (z.B. Dummy).
Das Gerät (bzw. der Kanal) welcher eben geschaltet etc. werden soll in den Raum alexa (wenn das dein Filter in der config.json) ist
Wenn der Name bzw. alias nicht "sprechend" ist (oder Alexa sich mit der Erkennung schwer tun könnte), dann noch alexaName vergeben
alexaRoom: KEINE Auswirkung!!

Damit funktioniert eben: "Alexa schalte das XXX Licht ein/aus" oder "Alexa stelle die Temperatur beim XXX Thermostat auf AB Grad"...

Wenn alexa-fhem gestartet wird sollten entsprechende Ausgaben (über gefundene Geräte) auf der Console bzw. im alexa-Log erscheinen und auch die "Suchanfrage" über die Alexa-App (Handy/Browser)...



Custom Skill (noch gröber):

damit geht alles andere ;)
Also Status abfragen, Lautstärke einstellen, alles was du bereit bist zu konfigurieren etc.
Konfigurieren: die entsprechenden Einstellungen am Gerät, im Alexa-Modul das alexaMapping etc. und beim Gerät/Kanal evtl. noch ein homeBridgeMapping, ...
Custom Slot Types und Intents etc. beim Skill eintragen...


Also welchen willst du nutzen?
Bzw. über welchen sprichst du hier??

Und etwas präziser was wo bei dir steht eingetragen ist/wurde.

Es gibt:

- AWS Lambda (1x in Summe, also für beides Custom und Smart Home)
- jeweils einen Skill (also 2 wenn du beides nutzen willst) / Trigger nicht vergessen
- alexa-fhem (optional mit Startscript)
- Alexa-Modul in fhem (dort eben alexaMapping etc.)
- Alexa-Status-Dummy (optional)
- Alexa-DOIF zum Starten/Stoppen (optional)
- Alexa-App (Smartphone / PC-Browser)

In all diesen Dingen sind verschiedene Einstellungen notwendig und es gibt auch jeweils eigene Probleme die auftauchen können und auch eigene Diagnosemöglichkeiten (Logs, etc.)...

Und dann noch mal in Ruhe was geht und was nicht...

Achja, hier schon mal vorbei geschaut: https://forum.fhem.de/index.php/topic,60244.0.html

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)

PsychoJJ

Hallo Joachim,

vielen Dank für deine Antwort.

ZitatDas Gerät (bzw. der Kanal) welcher eben geschaltet etc. werden soll in den Raum alexa (wenn das dein Filter in der config.json) ist

Das war der Fehler! Nun funktioniert es!

Vielen Dank!

Tommy82

Zitat von: MadMax-FHEM am 27 Januar 2017, 09:51:42
@Tommy82:

Das mit dem http-Aufruf war auch nicht dafür gedacht den Dienst zu stoppen sondern als "Alternative" zu den Telnet-Aufrufen.

Hatte irgendwie in Erinnerung, dass die auch als sudo nicht gegangen sind!!??

Noch mal zur Sicherheit:

- Also bei Systemstart geht alles!? alexa-fhem wird gestartet und der Status im entsprechenden Dummy stimmt!?

- Bei Systemstart wird das ja als User root ausgeführt (zumindest kenne ich das so)...

- fhem läuft als User "thomas"!?

- die Statusumschalbefehle als User "thomas" sudo perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on" funktionieren (habe ich jetzt so verstanden).

- wenn du als User "thomas" auf der Console dann sudo /etc/init.d/alexa stop eingibst was passiert?? (wird alexa-fhem gestoppt und nur der Status im Dummy nicht korrekt gesetzt oder passiert "gar nichts"?)


Wenn sonst noch was (verstreut) an Infos da ist/war auch mal mit dazu packen (sollte aber noch aktuell so sein und nicht bei den verschiedenen Tests mal so gewesen sein), damit mal wieder alles (aktueller Stand) beisammen ist, habe irgendwie den Überblick verloren was jetzt geht und was nicht...

Kein Stress ;)

Gruß, Joachim

Hi,
Zitat- Also bei Systemstart geht alles!? alexa-fhem wird gestartet und der Status im entsprechenden Dummy stimmt!?
Ja
Zitat- Bei Systemstart wird das ja als User root ausgeführt (zumindest kenne ich das so)...
ich denke ja, kenne es auch nur so
Zitat- fhem läuft als User "thomas"!?
Nein fhem läuft als User "fhem"
Zitat- die Statusumschalbefehle als User "thomas" sudo perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on" funktionieren (habe ich jetzt so verstanden).
Ja der Status des Dummys wird dannn korrekt gesetzt, aber auch ohne sudo funktioniert es als User "thomas"
Zitat- wenn du als User "thomas" auf der Console dann sudo /etc/init.d/alexa stop eingibst was passiert?? (wird alexa-fhem gestoppt und nur der Status im Dummy nicht korrekt gesetzt oder passiert "gar nichts"?)
Dann wird der Alexa Dienst gestoppt, wenn ich das ohne sudo versuche, dann wird das root  PW gefordert

Danke für dein Hilfe
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

Hi,

Zitat

    - fhem läuft als User "thomas"!?

Nein fhem läuft als User "fhem"

Dann muss fhem (statt bzw. zusätzlich zu thomas) in die sudoers.

Als fhem einloggen geht ja standardmäßig nicht (user ohne login soweit ich weiß)...

D.h. alles was getestet/getan wurde, dass es für den User thomas klappt muss (eigentlich) für den User fhem funktionieren.

So wie es aussieht könnte/müsste das das Problem sein.

Dass root bei Systemstart und du dann per sudo-Kommando Starten und Stoppen kannst etc. und auch bei Systemstart der Status stimmt (und auch wenn du sudo /etc/init.d/alexa start|stop ausführst) zeigt ja, dass es prinzipiell geht.

Also wird es wohl daran liegen, dass der User fhem noch nicht das kann/darf was User thomas 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)

Tommy82

Also der user fhem ist in den sudoers, somit kann es das auch nicht sein...
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI