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

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

Vorheriges Thema - Nächstes Thema

prodigy7

Zitat von: Tommy82 am 06 November 2016, 21:03:32
Aber cubie ist der hostname oder steh ich mir da auf jetzt so auf dem schlauch? kann natürlich auch die ip vom cubie eintragen 192.168.188.47 oder muss da die ipv4 hin?
Den Hostname den du einträgst, muss nach außen hin vom Internet aus erreichbar sein. D.h. wenn du von einem beliebigen Rechner aus auf <hostname> Port 3000 zugreifst, muss dein node.js Server antworten. Im einfachsten Fall wenn du eine Fritz!Box hast, hast du schon einen externen Hostname (....myfritz.net) und musst nur noch die Portfreigabe einrichten.

justme1968

sie 7. im ersten post:
Zitat6. "alexa, schalte <gerät> ein"
   "alexa, schalte <gerät> aus"
   "alexa, stelle <gerät> auf <wert> prozent"
   "alexa, stelle <gerät/raum> auf <anzahl> grad"
und
ZitatTODO: increment/decrement percentage kommandos
           increment/decrement temperature kommandos
           zusätzlicher frei konfigurierbaren custom skill
damit kommt demnächst noch
"Alexa, erhöhe Gerätename um Anzahl Grad"
"Alexa, reduziere Gerätename um Anzahl Grad"
"Alexa, erhöhe Gerätename um Anzahl Prozent"
"Alexa, reduziere Gerätename um Anzahl Prozent"
dazu.

auf einen bestimmten kanal schalten geht aktuell nur über den umweg eines dummy pro kanal und geschickter benennung.

freier konfiguriere kommandos und auch abfragen gehen nur mit custom skills. ist im englischen thread beschrieben. wird hier auch noch eingebaut. hoffentlich mit etwas mehr automatismus. durch den hombridge anteil ist einiges wiederverwendbar.

aber der prinzipielle nachteil von custom skills ist das man im kommando immer den skill namen verwenden muss. also: alexa, sag fhem mach xy
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

AmunRe

Hallo Andre,


erstmal vielen Dank.

Auch an prodigy für den wiki eintrag!

Ich hänge aber jetzt schon am starten des Dienstes.

npm install hab ich im verzeichnis ausgeführt, starten kann ich ihn dennoch nicht. musste ich alles als root ausführen?

ich hab das erste npm als root ausgeführt, weil ich noch npm installieren musste, jetzt sind die Datein alle angelegt, ich musste aber auch die createKey.sh ausführbar machen von hand, genau wie die /bin/alexa.

hab ich beides getan, jetzt hab ich diese ausgabe:
Zitatamunre@FHEM-SERVER:/opt/alexa-fhem$ bin/alexa

/opt/alexa-fhem/lib/server.js:139
  for( connection of this._config.connections ) {
                  ^^
SyntaxError: Unexpected identifier
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/opt/alexa-fhem/lib/cli.js:3:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

Danke für den Support, ich bin beeindruckt was dich das auch an Zeit kostet..
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

prodigy7

#93
Zitat von: AmunRe am 06 November 2016, 21:08:24
Hallo Andre,


erstmal vielen Dank.

Auch an prodigy für den wiki eintrag!

Ich hänge aber jetzt schon am starten des Dienstes.

npm install hab ich im verzeichnis ausgeführt, starten kann ich ihn dennoch nicht. musste ich alles als root ausführen?

ich hab das erste npm als root ausgeführt, weil ich noch npm installieren musste, jetzt sind die Datein alle angelegt, ich musste aber auch die createKey.sh ausführbar machen von hand, genau wie die /bin/alexa.

hab ich beides getan, jetzt hab ich diese ausgabe:
Danke für den Support, ich bin beeindruckt was dich das auch an Zeit kostet..
Zu alte node.js Version! Welche Distribution hast du im Einsatz?

Edit: http://www.fhemwiki.de/wiki/Homebridge_einrichten#NodeJS_installieren -> als root NodeJS V4 Anleitung folgen (sollte ausreichen)

AmunRe

Zitat von: prodigy7 am 06 November 2016, 21:10:12
Zu alte node.js Version! Welche Distribution hast du im Einsatz?

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

Tommy82

Zitat von: prodigy7 am 06 November 2016, 21:06:14
Den Hostname den du einträgst, muss nach außen hin vom Internet aus erreichbar sein. D.h. wenn du von einem beliebigen Rechner aus auf <hostname> Port 3000 zugreifst, muss dein node.js Server antworten. Im einfachsten Fall wenn du eine Fritz!Box hast, hast du schon einen externen Hostname (....myfritz.net) und musst nur noch die Portfreigabe einrichten.

So langsam verzweifel ich, also ich habe jetzt mal meine dyndns als Hostname eingetragen, und eine Portfreigabe in der FB auf den Cubie Port 3000 eingerichtet, allerdings bekomme ich immer noch kein Gerät angezeigt.

Im AWS Log steht
START RequestId: 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 Version: $LATEST

20:12:22
2016-11-06T20:12:22.811Z 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 **** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"44ee8246-8daa-48fe-9d43-e6fbcfa86613"},"payload":{"accessToken":"Atza|IwEBIKFgBCI8-iLz5D8hyi8IQeNEDggjfIKax6exsAkzHopWXtgyFHJx1cWlHtWazZagwjbSg1pIW4BnfCDkyAK9JBtOLtaeALlviQhnAGaNBs0qnhVe_cC
2016-11-06T20:12:22.811Z 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 **** Received Directive:
{
    "header": {
        "namespace": "Alexa.ConnectedHome.Discovery",
        "name": "DiscoverAppliancesRequest",
        "payloadVersion": "2",
        "messageId": "44ee8246-8daa-48fe-9d43-e6fbcfa86613"
    },
    "payload": {
        "accessToken": "Atza|IwEBIKFgBCI8-iLz5D8hyi8IQeNEDggjfIKax6exsAkzHopWXtgyFHJx1cWlHtWazZagwjbSg1pIW4BnfCDkyAK9JBtOLtaeALlviQhnAGaNBs0qnhVe_cC-DP8mWWOKejz4ljmOpVdGs86uZnjDvP7FlXrws6YS_lOuaSIwuuxqtwCRdc3IPtCAp_rRgLHtCQvDYurDNu0jUOyLqsNFPUJWWb-bCN_yjzSfvEgMsWey74daaigWnDtKf_kqNLTm83gKD2tgsy682EsU3sPxqrmRkkll1s0d6LiEM5h_uoi_r58J03xOzwWBRMyELLlH8yJ-E2IcBj1yuT6mXp1recTdqBGOmfBbFJfPBh4RtIiLzoQbCqDvCYA-yMVlEkVpuo7oB0GMfhxbEdrHu3WnrvmtZ67wJ68LVeuFl-PJISjeaYKWcRetZ4-bZNEENvF47PNxE8ivQi_lV07KjzR03nJJ3QPWqD7Ju0JUn32cWke2tM6aGsfpWEhUW4cCQS0I2yE8z30"
    }
}

20:12:32
END RequestId: 53dc9e9d-a45d-11e6-b452-1724ad77f2d3
END RequestId: 53dc9e9d-a45d-11e6-b452-1724ad77f2d3

20:12:32
REPORT RequestId: 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 Duration: 10001.76 ms Billed Duration: 10000 ms Memory Size: 512 MB Max Memory Used: 9 MB
REPORT RequestId: 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 Duration: 10001.76 ms Billed Duration: 10000 ms Memory Size: 512 MB Max Memory Used: 9 MB

20:12:32
2016-11-06T20:12:32.811Z 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 Task timed out after 10.00 seconds
2016-11-06T20:12:32.811Z 53dc9e9d-a45d-11e6-b452-1724ad77f2d3 Task timed out after 10.00 seconds


auf der Console steht
bin/alexa
[11/6/2016, 9:11:58 PM] using /home/thomas/.alexa/config.json
[11/6/2016, 9:11:58 PM] ---
[11/6/2016, 9:11:58 PM] Trying UPnP NAT-PMP ...
[11/6/2016, 9:11:58 PM] Fetching FHEM devices...
starting longpoll: http://127.0.0.1:8085/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1478463118932
[11/6/2016, 9:11:59 PM] [FHEM] Fetching FHEM devices...
[11/6/2016, 9:11:59 PM] [FHEM] fetching: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
[11/6/2016, 9:12:00 PM] [FHEM] got: 1 results
[11/6/2016, 9:12:00 PM] [FHEM] FritzDect_Wohnzimmerschrank is switch
[11/6/2016, 9:12:00 PM] [FHEM] FritzDect_Wohnzimmerschrank has
[11/6/2016, 9:12:00 PM] [FHEM]   Custom Voltage [voltage]
[11/6/2016, 9:12:00 PM] [FHEM]   Custom Current [current]
[11/6/2016, 9:12:00 PM] [FHEM]   Custom Power [power]
[11/6/2016, 9:12:00 PM] [FHEM]   Custom Energy [energy]
[11/6/2016, 9:12:00 PM] [FHEM]   On [state;on,off]
[11/6/2016, 9:12:00 PM] [FHEM]   CurrentTemperature [temperature]
  2016-11-06 21:12:00 caching: FritzDect_Wohnzimmerschrank-voltage: 234.812 V
[11/6/2016, 9:12:00 PM] [FHEM]     caching: Custom Voltage: 234.812 (as number; from '234.812 V')
  2016-11-06 21:12:00 caching: FritzDect_Wohnzimmerschrank-current: 0.0000 A
[11/6/2016, 9:12:00 PM] [FHEM]     caching: Custom Current: 0 (as number; from '0.0000 A')
  2016-11-06 21:12:00 caching: FritzDect_Wohnzimmerschrank-power: 0.00 W
[11/6/2016, 9:12:00 PM] [FHEM]     caching: Custom Power: 0 (as number; from '0.00 W')
  2016-11-06 21:12:00 caching: FritzDect_Wohnzimmerschrank-energy: 7711 Wh
[11/6/2016, 9:12:00 PM] [FHEM]     caching: Custom Energy: 7.711 (as number; from '7711 Wh')
  2016-11-06 21:12:00 caching: FritzDect_Wohnzimmerschrank-state: off
  2016-11-06 21:12:00 caching: FritzDect_Wohnzimmerschrank-temperature: 25.5 C (measured)
NAT-PMP failed: Error: Request failed: 500
Server listening on: https://:::3000



was mache ich jetzt noch falsch?
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

prodigy7

Zitat von: AmunRe am 06 November 2016, 21:12:50
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty
Folge meinem edit(h) des vorherigen Posts ;-)

justme1968

@Tommy82: aws läuft in einen timeout. du bist von aussen noch nicht erreichbar.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

prodigy7

@Tommy82: Einfach mal mit einem Telnet-Client probieren. Beispiel: telnet <hostname> 3000
Wenn da was antwortet, liegt das Problem woanders. Kommt ein Timeout, bist du nicht von außen erreichbar.

Tommy82

Zitat von: prodigy7 am 06 November 2016, 21:23:00
@Tommy82: Einfach mal mit einem Telnet-Client probieren. Beispiel: telnet <hostname> 3000
Wenn da was antwortet, liegt das Problem woanders. Kommt ein Timeout, bist du nicht von außen erreichbar.

Ich verstehs nicht, hab in der FB den cubie jetzt mal auf Exposed Host gestellt, damit ist er ja dann ganz offen, trotzdem bekomme ich keine Geräte angezeigt, und in der Konsole bekomme ich beim telnet versuch diese Meldung:
telnet xxx.selfhost.eu  3000                                                                                                                                                             
Trying 63.70.62.17...                                                                                                                                                                                                           
telnet: connect to address 63.70.62.17: Connection refused                                                                                                                                                                       
coolzero@linux-3dcu:~> telnet xxxx.selfhost.eu  3000                                                                                                                                                                       
Trying 63.70.62.17...                                                                                                                                                                                                           
telnet: connect to address 63.70.62.17: No route to host                                                                                                                                                                         
coolzero@linux-3dcu:~> telnet xxx.selfhost.eu  3000                                                                                                                                                                       

telnet: connect to address 63.70.62.17: Connection timed out


Wenn ich mich per handy und ssh mit der xx.selfhost.eu einwähle klappt es problemlos, das würde ja draufhin deuten das der Port 3000 auf dem Cubie noch zu ist oder?
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

prodigy7

Du hast 3x hintereinander eine andere Meldung beim Verbindungsversuch ... strange!

Tommy82

Zitat von: prodigy7 am 06 November 2016, 21:40:41
Du hast 3x hintereinander eine andere Meldung beim Verbindungsversuch ... strange!

Jein, hab es ein wenig gekürzt, dazwischen gab es mehrmals "no rout to host"
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

prodigy7

Zitat von: Tommy82 am 06 November 2016, 21:43:15
Jein, hab es ein wenig gekürzt, dazwischen gab es mehrmals "no rout to host"
Irgendetwas stimmt in deinem Setup nicht ... schwierig aber etwas dazu zu sagen ohne es zu kennen bzw. eine Glaskugel zu haben...
Ganz einfach: Solange kein Telnet auf den Port via externen Hostname geht, läuft was schief. Das musst du fixen!

Tommy82

Zitat von: prodigy7 am 06 November 2016, 21:46:37
Irgendetwas stimmt in deinem Setup nicht ... schwierig aber etwas dazu zu sagen ohne es zu kennen bzw. eine Glaskugel zu haben...
Ganz einfach: Solange kein Telnet auf den Port via externen Hostname geht, läuft was schief. Das musst du fixen!

Nur wie.....
Hat du eine FB? Kannst du mir mal einen Screen deiner Portweiterleitung schicken?
Worauf hast du fhem laufen? Hast du da in der FW was einstellen müssen?

Danke
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

AmunRe

#104
@ Prodigy

Ich seh grad einen Fehler in deinem Wiki:

Du schreibt bei der Lamda Function man solle Alexa Skill Kit auswählen. Dabei nutzt Du doch (im Bild) aber Alexa Smart Home.

Ist das so gewollt?
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs