alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

miche

Hallo,

Irgendwie kapier ich das AlexaMapping nicht.
Ich möchte das Rollo Modul mit Alexa steuern.
Als Beispiel, Alexa Erdgeschoss 50% funktioniert, jedoch möchte ich gerne auch noch auf und zu sagen können, aber Alexa sagt immer dass das Gerät dies nicht unterstützt!
Folgendes hab ich mal beim Mapping eingetragen Open=verb=auf,valueOn=open
Close=verb=zu,valueOn=close

Funktioniert aber nicht

TomLee

Alexamapping ist für den Custom-Skill.

Versuch's mal mit hoch/runter.

miche

Stimmt, dann muss ich noch weiter experimentieren!

miche

So,

bei Alexa Erdgeschoss runter fahren die Rollos hoch ???
bei Alexa Erdgeschoss hoch wird nicht unterstützt!

Welche Befehle versteht der Standard Skill denn inzwischen? Hat da jemand eine Liste?

TomLee

Erdgeschoss hört sich schon nach mehreren Rollos an.
Mach das doch wie erwähnt mit Routinen, dann brauchst auch keine Liste (die es eh nicht gibt) und kannst somit sagen was du willst.

Tipp: Bei Rollos nicht mit genericdevicetype Blind, sondern mit Light arbeiten. Dann hast einen Slider in der App.

Nachteil der Routinen: Löscht man die Smart-Home-Geräte-Liste, müssen die Routinen wieder neu konfiguriert werden.

miche

Bei gerericdevicetype Light erkennt der alexa-fhem das gerät, jedoch findet der echo die Geräte nicht. Bei blind wird es gefunden.
Vielleicht liegt dies an den anderen Geräteeigenschaften.
Hier mal ein List eines der Rollo Geräte Internals:
   DEF        WZ_Fenster
   NAME       WZFenster
   NR         183
   STATE      open
   TYPE       ROLLO
   stoptime   1520924302
   READINGS:
     2018-03-13 08:02:41   command         open
     2018-03-13 08:02:41   desired_position 0
     2018-03-13 07:58:18   drive-type      modul
     2018-03-13 07:58:18   last_drive      drive-up
     2018-03-13 07:58:22   position        0
     2018-03-13 07:58:22   state           open
Attributes:
   alexaName  Wohnzimmer Fenster
   alexaRoom  Erdgeschoss
   autoStop   0
   commandDown set WZ_Fenster off
   commandStopDown set WZ_Fenster off
   commandStopUp set WZ_Fenster on
   commandUp  set WZ_Fenster on
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:open position-90:fts_shutter_80:closed position-80:fts_shutter_80:closed position-70:fts_shutter_70:closed position-60:fts_shutter_60:closed position-50:fts_shutter_50:closed position-40:fts_shutter_40:open position-30:fts_shutter_30:open position-20:fts_shutter_20:open position-10:fts_shutter_10:open position-0:fts_shutter_10:closed
   excessBottom 0
   excessTop  0
   genericDeviceType blind
   resetTime  0
   room       Rollo,alexa
   secondsDown 18
   secondsUp  21
   sortby     7
   switchTime 1
   type       normal
   webCmd     open:closed:half:stop:position

Ma_Bo

Eine kurze Frage in die Runde,
ich nutze schon seit letztem Jahr Oktober kein Alexa mehr, habe aber noch den Amazon Developer Account und das Konta bei AWS.
Seit Februar 2018 wird mir jeweils 0,01 Euro berechnet, obwohl ich das gesamte nicht mehr nutze.

Hat das bei euch auch jemand so...?
Die Leute die es nutzen müssten es ja auf jeden Fall berechnet bekommen.


Grüße 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.

TomLee

@Ma_Bo
Bei mir wird nix abgebucht.

@miche
Ich hab HM-Aktoren die liefern ein pct, denke das hat damit zu tun.
Aber erklären kann das mit sicherheit jemand anderes besser.

Gruß

Thomas



pumuckel13

#3623
Hallo

ich habe die Anleitung inzwischen mehrmals komplett durchgearbeitet, sowie diesen Thread öfters durchsucht, komme an einem Punkt aber einfach nicht weiter. Alexa scheint nicht auf mein FHEM zugreifen zu können, d.h. ich habe ein Autorisations-Problem.

Meine config.json sieht wie folgt aus, wobei ich die applicationId, die oauthClientID und das Passwort nur im Post verfremdet habe.

{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.XXXX",
        "oauthClientID": "amzn1.application-oa2-client.XXXX",
        "permissions": {"<skill-id>": { "client_id": "xyz", "client_secret": "123"}}
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=alexa",
            "ssl": true,
            "auth": {"user": "fhem", "pass": "passXXX", "ssl": true}
        }
    ]
}


Sobald ich alexa über ./bin/alexa starte, erhalte ich folgende Meldungen.

[2018-03-18 00:49:57] using /home/pi/.alexa/config.json
[2018-03-18 00:49:57] ---
[2018-03-18 00:49:57] this is alexa-fhem 0.4.4
[2018-03-18 00:49:57] Fetching FHEM devices...
[2018-03-18 00:49:57] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521330597512
[2018-03-18 00:49:57] Server listening on: https://:::3000
[2018-03-18 00:49:57] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 5000msec
[2018-03-18 00:50:02] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521330602714
[2018-03-18 00:50:02] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 10000msec


Installiert habe ich node v4.5.0

Testweise habe ich auch die SSL Verschlüsselung bei FHEM web abgeschaltet.
In diesem Fall bekomme ich mit der selben config.json bis auf "ssl" : false folgende Meldungen:

[2018-03-18 00:52:51] using /home/pi/.alexa/config.json
[2018-03-18 00:52:52] ---
[2018-03-18 00:52:52] this is alexa-fhem 0.4.4
[2018-03-18 00:52:52] Fetching FHEM devices...
[2018-03-18 00:52:52] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521330772291
[2018-03-18 00:52:52] Server listening on: https://:::3000
[2018-03-18 00:52:52] [FHEM] Checking devices and attributes...
[2018-03-18 00:52:52] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2018-03-18 00:52:52] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2018-03-18 00:52:52] [FHEM] Fetching FHEM devices...
[2018-03-18 00:52:52] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2018-03-18 00:52:52] [FHEM] longpoll ended, reconnect in: 200msec
[2018-03-18 00:52:52] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1).
[2018-03-18 00:52:52] [FHEM]   401: Authorization Required
[2018-03-18 00:52:52] [FHEM] There was a problem connecting to FHEM
[2018-03-18 00:52:52] [FHEM]   401: Authorization Required
[2018-03-18 00:52:52] [FHEM] There was a problem connecting to FHEM (http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1).
[2018-03-18 00:52:52] [FHEM]   401: Authorization Required
[2018-03-18 00:52:52] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521330772748
[2018-03-18 00:52:52] [FHEM] Checking devices and attributes...


Ebenso testweise habe ich die Server-Url anstatt "127.0.0.1" auf meine statische, interne FHEM-IP-Adresse gesetzt. Leider auch ohne Erfolg.

Die Portfreigabe im Router scheint zu funktionieren, da der Port sobald mit ./bin/alexa gestartet ist beim Heise Netzwerkcheck als offen angezeigt wird, und ich über die externe URL die folgenden Json-Rückgabe erhalte {"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"8cf1d4b0-9ab1-454d-8bdb-a0c4d87b0e57"},"payload":{}}

Ein Alexa-Device habe ich auch bereits in FHEM angelegt.

Nehme ich die basicAuth von WEB komplett raus, komme ich einen Schritt weiter und alexa kann sich mit FHEM verbinden.

Ich weiß aktuell nicht mehr, was ich noch probieren kann oder woran es liegen könnte.
Hat mir einer von euch einen Tipp?

Danke

Tuxi70

Beim Zugriff auf die Geräteliste von Alexa scheitert dieses Aufgrund mangelnder Zugriffsberechtigung. User oder Passwort Falsch. Jedenfalls lese ich das aus dieser Fehlermeldung.
FRITZ!Box: Fon WLAN 7560, FW: 7.0
James: Raspberry Pi 3 Alexa-Fhem 0.4.4 & FHEM 5.8 Latest Revision: 16799 & SVG-DBLog MySQL 3.10.8
Netz : VDSL 1&1 50.000 3x FRITZ!Powerline 530E FW: 1.4.0-00
Smarthome: 4x Comet DECT Thermostat Firmware: 3.68 8x FritzDECT200 Firmware: 4.08
Steuerung: Alexa

pumuckel13

Ja, so interpretiere ich die Meldungen auch und ohne basicAuth funktioniert es auch.

Allerdings habe ich alle Einstellung mit dem User "pi" durchgeführt und meine config.json sowohl mit "pi" als auch mit "fhem" als Benutzer ausprobiert. Zusätzlich habe ich die erstellten Zertifikate an verschiedene Orte "alexa_fhem" bzw. ".alexa" verschoben, um auch dies zu probieren.

Bislang alles ohne Erfolg.

pumuckel13

Ok, habs. Habe nochmals den User und Passwort in meinen basicAuths neu angelegt.

Jetzt komme ich einen Schritt weiter.

Vielen Dank

Tueftler1983

hallo ich scheitere leider an der einrichtung da die skeenshots aus dem WIKI absulut nicht mit dem übereinstimmen was ich zu senen bekomme.
Ich habe mich bis: Cusom skill anlegen durchgeschlagen aber ab hier komme ich nicht weiter...

gibt es irgendwo ne neue anleitung die auf die jetzige ansicht zugeschnitten ist??

amenomade

Leider änder Amazon so oft seine Benutzeroberfläsche, dass es keine aktuelle Beschreibung gibt.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

TomLee

@Tueftler1983

Schau mal was über Create Skill in der Konsole steht.