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

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

Vorheriges Thema - Nächstes Thema

Matt1185

wie justme1968 schon gesagt hat: dein Licht_AZ dummy hat kein setList mit on und off.
Du musst dem Licht_AZ dummy das Attribut setList on off hinzufügen:

"attr Licht_AZ setList on off"

Sonst wird das nicht als Switch erkannt.


Negropo

Zitat von: Matt1185 am 28 Dezember 2016, 12:52:10
wie justme1968 schon gesagt hat: dein Licht_AZ dummy hat kein setList mit on und off.
Du musst dem Licht_AZ dummy das Attribut setList on off hinzufügen:

"attr Licht_AZ setList on off"

Sonst wird das nicht als Switch erkannt.

Hallo Matt 1185,

das habe ich getan. So sieht mein Dummy jetzt aus:


# Alexa Dummy Gerät
define Licht_AZ dummy
attr Licht_AZ alexaName Licht
attr Licht_AZ alexaRoom Arbeitszimmer
attr Licht_AZ genericDeviceType switch
attr Licht_AZ room Alexa
attr Licht_AZ setList on off
attr Licht_AZ webCmd state:on off
define LoxLiAz notify Licht_AZ {\
my $server='http://user:passw@192.168.178.28:80';;\
{GetFileFromURL "".$server."/dev/sps/io/907c430e-0813-11e3-bed0a3a1c4b3d3e9/AI1/".$EVENT.""};;\
}


Trotzdem wird leider kein Gerät von Amazon erkannt.

Matt1185

hast du alexa-fhem neu gestartet bevor du nach Geräten suchen lässt?

Negropo

#1158
Ja, habe sogar den kompletten Pi neugestartet. Status von FHEM.Alexa sagt, dass es läuft. Ergebnis bleibt leider trotzdem das gleiche.

Bekomme jetzt auf der Console folgende Fehlermeldmeldung bei Aufruf von "./bin/alexa":


pi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
[2016-12-28 13:15:47] using /home/pi/.alexa/config.json
[2016-12-28 13:15:47] ---
[2016-12-28 13:15:47] this alexa-fhem 0.1.8
[2016-12-28 13:15:47] Trying NAT-PMP ...
[2016-12-28 13:15:47] Fetching FHEM devices...
[2016-12-28 13:15:47] [FHEM] Checking devices and attributes...
[2016-12-28 13:15:47] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-28 13:15:47] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-28 13:15:47] [FHEM] starting longpoll: http://192.168.178.47:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1482927347939
[2016-12-28 13:15:47] [FHEM] Fetching FHEM devices...
[2016-12-28 13:15:47] [FHEM] fetching: http://192.168.178.47:8083/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: bind EADDRINUSE
    at exports._errnoException (util.js:746:11)
    at dgram.js:224:28
    at dns.js:85:18
    at process._tickCallback (node.js:355:11)
    at Function.Module.runMain (module.js:503:11)
    at startup (node.js:129:16)
    at node.js:814:3


Vllt. hilft das weiter?

justme1968

bitte bei Installationsproblemen den anderen thread verwenden!


zeig noch mal die konsolen ausgabe beim start.

wie kommst du darauf das alexa nichts findet? geht es um den custom skill oder den smart home skill?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Negropo

Zitat von: justme1968 am 28 Dezember 2016, 13:14:15
bitte bei Installationsproblemen den anderen thread verwenden!


zeig noch mal die konsolen ausgabe beim start.

wie kommst du darauf das alexa nichts findet? geht es um den custom skill oder den smart home skill?

Hallo justme1968,

den Output der Console habe ich im vorangegangenen Post gerade ergänzt. Wie im Wiki geschrieben soll man ja auf der Alexa-HP
nach Geräten suchen lassen. Da werden aber keine Geräte gefunden. Ich habe beide Skills eingerichtet, wei im Wiki beschrieben.
Beide sind auch mit meinem Amazon Account verknüpft.

Danke und Gruß Negropo

justme1968

da läuft schon ein alexa-fhem in hintergrund.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Negropo

Zitat von: justme1968 am 28 Dezember 2016, 13:21:58
da läuft schon ein alexa-fhem in hintergrund.
Stimmt, hatte den laufenden noch nicht gestoppt. Hier die richtige Ausgabe der Console:

pi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
[2016-12-28 13:23:25] using /home/pi/.alexa/config.json
[2016-12-28 13:23:26] ---
[2016-12-28 13:23:26] this alexa-fhem 0.1.8
[2016-12-28 13:23:26] Trying NAT-PMP ...
[2016-12-28 13:23:26] Fetching FHEM devices...
[2016-12-28 13:23:26] [FHEM] Checking devices and attributes...
[2016-12-28 13:23:26] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-28 13:23:26] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-28 13:23:26] [FHEM] starting longpoll: http://192.168.178.47:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1482927806821
[2016-12-28 13:23:26] [FHEM] Fetching FHEM devices...
[2016-12-28 13:23:26] [FHEM] fetching: http://192.168.178.47:8083/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
[2016-12-28 13:23:26] Server listening on: https://:::3000
[2016-12-28 13:23:26] [FHEM] got: 3 results
[2016-12-28 13:23:26] [FHEM] FHEM.Alexa: no service type detected
[2016-12-28 13:23:26] [FHEM] no device created for FHEM.Alexa (dummy)
[2016-12-28 13:23:26] [FHEM] FHEM.Alexa.DOIF: no service type detected
[2016-12-28 13:23:26] [FHEM] no device created for FHEM.Alexa.DOIF (DOIF)
[2016-12-28 13:23:26] [FHEM] Licht_AZ is switch
[2016-12-28 13:23:26] [FHEM] Licht_AZ has
[2016-12-28 13:23:26] [FHEM]   On [state;on,off]
  2016-12-28 13:23:27 caching: Licht_AZ-state: off
[2016-12-28 13:23:27] [FHEM] alexa device is MyAlexa
[2016-12-28 13:23:27] [FHEM] MyAlexa is switch
[2016-12-28 13:23:27] [FHEM] MyAlexa has
[2016-12-28 13:23:27] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[2016-12-28 13:23:27] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&XHR=1
[2016-12-28 13:23:27] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.8%22%7D&XHR=1
[2016-12-28 13:23:27] [FHEM]   executing: http://192.168.178.47:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&XHR=1
[2016-12-28 13:23:27] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2016-12-28 13:23:27] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2016-12-28 13:23:27] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2016-12-28 13:23:27] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2016-12-28 13:23:27] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2016-12-28 13:23:27]   wrong syntax: #Type=<alias>[,<alias2>[,...]]
[2016-12-28 13:23:27]   wrong syntax: light=licht,lampen
[2016-12-28 13:23:27]   wrong syntax: blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
[2016-12-28 13:23:27] {}
[2016-12-28 13:23:27] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }

m311331

#1163
Hi

@Negropo

alexa findet 3 devices bei dir
Zitat[2016-12-28 13:23:26] [FHEM] got: 3 results

dein Licht_AZ ist dabei
geht es jetzt ?

-edit-
wenn die app nichts findet
wie sieht dein filter aus ?

mfg. m

Negropo

Zitat von: m311331 am 28 Dezember 2016, 13:37:42
Hi


alexa findet 3 devices bei dir
dein Licht_AZ ist dabei
geht es jetzt ?

-edit-
wenn die app nichts findet
wie sieht dein filter aus ?

mfg. m

Hallo, nein leider nicht. Die Suche ist weiterhin ohne Ergebnis.

justme1968

auf der konsole ist keine geräte suche zu sehen. schau dir die troubleshooting punkte im wiki an.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

m311331

Hi

@Negropo
zeig mal bitte deine config

da stimmt auch was nicht mit deinen Custom Slot Types
Zitat[2016-12-28 13:23:27]   wrong syntax: #Type=<alias>[,<alias2>[,...]]
[2016-12-28 13:23:27]   wrong syntax: light=licht,lampen
[2016-12-28 13:23:27]   wrong syntax: blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos

mfg. m
 

Negropo

Zitat von: m311331 am 28 Dezember 2016, 13:46:03
Hi

@Negropo
zeig mal bitte deine config

da stimmt auch was nicht mit deinen Custom Slot Types
mfg. m


Hier mein config


attr global userattr alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB has no associated allowed device with basicAuth.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB editConfig 1



# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
define allowed_WEB allowed
define allowed_telnetPort allowed
attr allowed_telnetPort password XXX
attr allowed_telnetPort validFor telnetPort

# Alexa FHEM Autostart
define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa room Alexa
attr FHEM.Alexa webCmd status:start:stop:restart
define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})\
DOELSEIF ([FHEM.Alexa] eq "stop") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})\
DOELSEIF ([FHEM.Alexa] eq "restart") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})\
DOELSEIF ([FHEM.Alexa] eq "status") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})
attr FHEM.Alexa.DOIF room Alexa

# Alexa FHEM Config
define MyAlexa alexa
attr MyAlexa alexaMapping #Characteristic=<name>=<value>,...\
On=verb=schalte,valueOn=an;;ein,valueOff=aus,valueToggle=um\
\
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
Hue=verb=stelle,valuePrefix=auf,values=rot:0;;grün:128;;blau:200\
Hue=verb=färbe,values=rot:0;;grün:120;;blau:220\
\
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\
Saturation=verb=sättige,values=AMAZON.NUMBER\
\
TargetPosition=verb=mach,articles=den,values=auf:100;;zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\
\
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
#Weckzeit=verb=stelle,valuePrefix=auf;;für,values=AMAZON.TIME,valueSuffix=uhr
attr MyAlexa alexaTypes #Type=<alias>[,<alias2>[,...]]\
light=licht,lampen\
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
attr MyAlexa fhemIntents #IntentName=<sample utterance>\
gutenMorgen=guten morgen\
guteNacht=gute nacht

# Alexa Dummy Gerät
define Licht_AZ dummy
attr Licht_AZ alexaName Licht
attr Licht_AZ alexaRoom Arbeitszimmer
attr Licht_AZ alias Licht Arbeitszimmer
attr Licht_AZ genericDeviceType switch
attr Licht_AZ room Alexa
attr Licht_AZ setList on off
attr Licht_AZ webCmd state:on:off
define LoxLiAz notify Licht_AZ {\
my $server='http://user:passwd@192.168.178.28:80';;\
{GetFileFromURL "".$server."/dev/sps/io/907c430e-0813-11e3-bed0a3a1c4b3d3e9/AI1/".$EVENT.""};;\
}


Gruß Negropo

Matt1185

@justme1968:

Ich habe jetzt festgestellt, dass alle Events die vom FHEMduino kommen, also alle meine Funksteckdosen in der Konsole nicht per "Caching: ..." ankommen.
Nur einmal beim starten von alexa-fhem.

Weißt du woran das liegen könnte?

Negropo

Zitat von: Negropo am 28 Dezember 2016, 13:59:35
Hier mein config


attr global userattr alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB has no associated allowed device with basicAuth.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB editConfig 1



# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
define allowed_WEB allowed
define allowed_telnetPort allowed
attr allowed_telnetPort password XXX
attr allowed_telnetPort validFor telnetPort

# Alexa FHEM Autostart
define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa room Alexa
attr FHEM.Alexa webCmd status:start:stop:restart
define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})\
DOELSEIF ([FHEM.Alexa] eq "stop") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})\
DOELSEIF ([FHEM.Alexa] eq "restart") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})\
DOELSEIF ([FHEM.Alexa] eq "status") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})
attr FHEM.Alexa.DOIF room Alexa

# Alexa FHEM Config
define MyAlexa alexa
attr MyAlexa alexaMapping #Characteristic=<name>=<value>,...\
On=verb=schalte,valueOn=an;;ein,valueOff=aus,valueToggle=um\
\
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
Hue=verb=stelle,valuePrefix=auf,values=rot:0;;grün:128;;blau:200\
Hue=verb=färbe,values=rot:0;;grün:120;;blau:220\
\
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\
Saturation=verb=sättige,values=AMAZON.NUMBER\
\
TargetPosition=verb=mach,articles=den,values=auf:100;;zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\
\
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
#Weckzeit=verb=stelle,valuePrefix=auf;;für,values=AMAZON.TIME,valueSuffix=uhr
attr MyAlexa alexaTypes #Type=<alias>[,<alias2>[,...]]\
light=licht,lampen\
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
attr MyAlexa fhemIntents #IntentName=<sample utterance>\
gutenMorgen=guten morgen\
guteNacht=gute nacht

# Alexa Dummy Gerät
define Licht_AZ dummy
attr Licht_AZ alexaName Licht
attr Licht_AZ alexaRoom Arbeitszimmer
attr Licht_AZ alias Licht Arbeitszimmer
attr Licht_AZ genericDeviceType switch
attr Licht_AZ room Alexa
attr Licht_AZ setList on off
attr Licht_AZ webCmd state:on:off
define LoxLiAz notify Licht_AZ {\
my $server='http://user:passwd@192.168.178.28:80';;\
{GetFileFromURL "".$server."/dev/sps/io/907c430e-0813-11e3-bed0a3a1c4b3d3e9/AI1/".$EVENT.""};;\
}


Gruß Negropo

Es funktioniert!!! Vielen Dank an alle! Jetzt kann ich mich ans feintuning machen.  ;D