jo, alexa_device muss ein technischer name sein, ohne space und scherze.
dachte das kann man der readme entnehmen :/
Ankündigung
Einklappen
Keine Ankündigung bisher.
Amazon Alexa Plugin
Einklappen
X
-
Hallo,
das hab ich schon versucht. Ich habe sogar den Skill aus der Alexa-App entfernt.
Edit:
Hieran lag es:
das Leerzeichen im alexa_device.Code:../../items/Haustechnik.conf: alexa_name = "Tisch saugen" ../../items/Haustechnik.conf: alexa_actions = "turnOn turnOff" ../../items/Haustechnik.conf: alexa_device = "Tisch saugen" ../../items/Haustechnik.conf: alexa_description = "Tisch saugen"
Vielleicht kannst du das im Code abfangen?
Hinzugefügt habe ich dieses Item übrigens vor einer Weile. Deshalb hatte ich es nicht mehr auf dem Schirm.
Edit2:
Die Geräte wurden jetzt zwar gefunden, ließen sich aber nicht ansteuern. Geräte nochmal entfernt und nun werden sie nicht mehr gefunden. :-(
Edit3:
Nix geändert, noch ein paar mal probiert --> Geräte wieder da und lassen sich steuern. Komisch.
Gruß,
HendrikZuletzt geändert von henfri; 09.02.2017, 20:02.
Einen Kommentar schreiben:
-
das hatte ich auch paar mal, am besten alle geräte in der alexa app entfernen. app schließen, richtig schließen, alexa app wieder oeffnen.
dann discovery.
wenn es dann noch nicht geht, bitte items posten
Einen Kommentar schreiben:
-
Hallo,
danke für den Tipp.
Leider keine Änderung. Ich habe es aus der App und auch aus dem Web-Interface (alexa.amazon.com) probiert. Den Echo habe ich auch mal vom Strom getrennt.
Ich bin ratlos.
Wie kann ich den Fehler eingrenzen?
Gruß,
Hendrik
Einen Kommentar schreiben:
-
Hallo Hendrik,
ich weiß zwar nicht, ob du nicht doch ein anderes Problem hast, aber ich hatte schon ein paar mal die Falschmeldung von der Alexa-App, dass keine Geräte gefunden werden konnten. Nachdem ich kurz die Seite gewechselt hatte, (also einen anderen Menüpunkt angeklickt und dannach wieder auf Smart Home gegangen bin) wurden alle meine Geräte angezeigt.
Gruß Werner
Einen Kommentar schreiben:
-
Ui,
ich habe gerade alle Items aus der Alexa-App gelöscht und neu suchen lassen. Jetzt wird aber gar nichts mehr gefunden.
Im Log sehe ich aber, dass gesucht wird:
Woran kann das jetzt liegen?Code:2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device keller_licht -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Staubsauger -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Verstaerker -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device kueche_licht -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Arbeitszimmer_licht -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Esszimmer_licht -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Esszimmer_licht_sperre -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device wohnzimmer_licht -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device kueche_radio -- device.py:validate:59 2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Tisch saugen -- device.py:validate:59 2017-02-07 17:58:22 INFO service alexa Alexa: service starting -- service.py:start:27 2017-02-07 17:59:38 DEBUG service alexa HTTP/1.0 POST / -- service.py:do_POST:48 2017-02-07 17:59:38 DEBUG service alexa Alexa: discovery-directive 'DiscoverAppliancesRequest' received -- service.py:handle_discovery:104 2017-02-07 17:59:39 DEBUG service alexa HTTP/1.0 POST / -- service.py:do_POST:48 2017-02-07 17:59:39 DEBUG service alexa Alexa: discovery-directive 'DiscoverAppliancesRequest' received -- service.py:handle_discovery:104
Es ist komisch. Bis gerade funktionierte ja alles und das 'aus der App löschen' war das einzige, was ich geändert habe. Bis dahin konnte ich ja auch das Licht noch schalten etc.
Ich habe auch gerade mal mit einem Backup aus dem Januar verglichen und außer kleiner Änderungen der Items sehe ich nichts relevantes.
Es ist ja durchaus möglich, dass ich in den letzten Wochen etwas verbastelt habe, dies aber nur beim Discover zum Tragen kommt. Aber da ich außer den Items nichts geändert habe und das Log oben hinsichtlich der Items aber auch hinsichtlich das "discovery" genau so aussieht, wie ich es erwarten würde, ist mir schleierhaft, was hier schief gegangen ist.
Gruß,
HendrikZuletzt geändert von henfri; 07.02.2017, 20:07.
Einen Kommentar schreiben:
-
Hallo,
kann mir jemand sagen, warum mein Verstärker seine Lautstärke nicht ändern will?
Im Log sieht das auch richtig aus:Code:[[[[Power]]]] type = bool alexa_actions = "turnOn turnOff" alexa_device = "Verstaerker" alexa_name = "Verstaerker" alexa_description = "Verstaerker im Wohnzimmer" [[[[MasterVolume]]]] type = num alexa_device = "Verstaerker" alexa_actions = "setPercentage incrementPercentage decrementPercentage" alexa_item_range = 0-50
Code:[LIST=1][*]2017-02-07 17:58:21 INFO __init__ Main Alexa: item mm.denon.main.Power supports actions ['turnOn', 'turnOff'] as device Verstaerker -- __init__.py:parse_item:123[*]2017-02-07 17:58:21 DEBUG __init__ Main Alexa: mm.denon.main.MasterVolume-device = Verstaerker -- __init__.py:parse_item:86[*]2017-02-07 17:58:21 INFO __init__ Main Alexa: item mm.denon.main.MasterVolume supports actions ['setPercentage', 'incrementPercentage', 'decrementPercentage'] as device Verstaerker -- __init__.py:parse_item:123[*]2017-02-07 17:58:22 DEBUG device alexa Alexa: validating device Verstaerker -- device.py:validate:59[/LIST]
Ein- und Ausschalten funktioniert hingegen.
Ich sage z.B. "Alexa schalte den Verstärker an" oder "Alexa setze den Verstärker auf 30 Prozent", oder "Alexa dimme den Verstärker auf 30 Prozent"
Gruß,
Hendrik
Einen Kommentar schreiben:
-
Servus,
vielen dank, bin gestern schon ein Stück weiter gekommen.
Hab mich am Nachmittag mal wieder hingesetzt und versucht zu verstehen was ich da mache.
Jetzt hab ichs auch endlich hinbekommen Certbot zum laufen zu kriegen, bringt zwar auch noch einen fehler, da hatte ich aber dann keine Lust mehr, muss ich mir heute näher anschaun.
Nein ich hab noch nichts selber aufgesetzt.
Ich weiche da lieber auf fertige Sachen aus. Der Mensch ist halt faul.
Da muss man halt dann mehr Zeit investieren wenns mal steinig wird ;-)
Aber dafür isses ja auch ein Hobby.
Vielen Dank nochmal für die Hilfe.
Gruß Wolfi
Einen Kommentar schreiben:
-
die domain `YOUR-HOME.DYNDNS.TLD` wurde durch letsencrypt bzw. durch dessen `certbot` doch von dir abgefragt und entsprechende verzeichnisse angelegt, also ja `YOUR-HOME.DYNDNS.TLD` ist die domain, fuer die du letsencrypt zertifikate beantragt hast und muss angepasst werden.
der `alias /var/www/.well-known;` heisst wirklich so. im zweifel musst du das verzeichnis anlegen. das benutzt letsencrtypt im zusammenspiel mit dem certbot fuer den zertifikat-generierungs-prozess.
# /etc/nginx/sites-available/your-home <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ??
ja, sicher. das ist der name deiner konfigurations-datei, die du in sites-available ablegen musst. name spielt keine rolle.
proxy_pass http://192.168.16.5:9000/; <--------------- WIRD MEINE LOKALE ADRESSE AUF DER SMARTHOMENG LÄUFT ?
genau
hast du schonmal was mit linux/unix aufgesetzt? das könnte sonst echt steinig werden
Einen Kommentar schreiben:
-
Servus Miteinander,
gester ist auch endlich meine Alexa angekommen.
ich hab mich dann gleich gestern Abend auch mal durch den Amazon wirrwarr gekämpft, ich frage mich wer sowas ohne Anleitung schafft, und wer sich sowas ausdenkt.
Den Skill bekomme ich in der APP angezeigt, wenn ich auf Testen gegangen bin, hat er mir in der Console auch lustige Meldungen gebracht.
Also irgendwas macht schon mal was.
Jetzt haperts aber enorm am Verständnis zum nginx.
Ich hab mir die nginx.md aus dem Plugin Verzeichnis genommen, und bin danach Vorgegangen, bekomm aber immer die Fehlermeldung:
nginx: [emerg] BIO_new_file("/etc/letsencrypt/live/YOUR-HOME.DYNDNS.TLD/fullchain.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/YOUR-HOME.DYNDNS.TLD/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed
Jetzt hab ich rumprobiert, gesucht und gemacht, und mir ist nicht ganz klar, was ich jetzt alles beim nginx einstellen muss.
die nginx.md hab ich mal mit meinen Unklarheiten ergänzt.
# /etc/nginx/include.d/common
```
# letsencrypt shizzle
ssl_certificate /etc/letsencrypt/live/YOUR-HOME.DYNDNS.TLD/fullchain.pem; <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ?? DYNDNS WIRD MEINE ADRESSE in meinem Fall xxx.xxx.myfritz.net
ssl_certificate_key /etc/letsencrypt/live/YOUR-HOME.DYNDNS.TLD/privkey.pem; <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ?? DYNDNS WIRD MEINE ADRESSE in meinem Fall xxx.xxx.myfritz.net
ssl_stapling on;
ssl_stapling_verify on;
# maintain the .well-known directory alias for letsencrypt & renewals
location /.well-known {
auth_basic off;
alias /var/www/.well-known; <------------- HEISST DER WIRKLICH SO, ODER MUSS ICH WAS ÄNDERN ???
}
```
# /etc/nginx/sites-available/your-home <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ??
```
# SSL-Redirect & LetsEncrypt Endpoint
server {
listen 80 default_server;
# redirect every requested $host (any, even invalid ones) to its SSL URL
location / {
return 301 https://$host$request_uri;
}
# LetsEncrypt Endpoint
location /.well-known {
alias /var/www/.well-known; <------------- HEISST DER WIRKLICH SO ODER MUSS ICH WAS ÄNDERN ???
}
}
# Sitemap
server {
listen 443 ssl default_server;
access_log /var/log/nginx/sitemap.log combined;
auth_basic "YOUR-HOME.DYNDNS.TLD"; <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ?? DYNDNS WIRD MEINE ADRESSE in meinem Fall xxx.xxx.myfritz.net ??
auth_basic_user_file /etc/nginx/htpasswd;
include /etc/nginx/include.d/common;
#add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
location / {
root /var/www/sitemap;
index index.html;
}
}
# Alexa
server {
listen 443 ssl;
server_name ALEXA.YOUR-HOME.DYNDNS.TLD;
access_log /var/log/nginx/alexa.log combined;
auth_basic "Alexa";
auth_basic_user_file /etc/nginx/htpasswd.alexa;
include /etc/nginx/include.d/common;
location / {
proxy_pass http://192.168.16.5:9000/; <--------------- WIRD MEINE LOKALE ADRESSE AUF DER SMARTHOMENG LÄUFT ?
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# ANOTHER-SERVICE.YOUR-HOME.DYNDNS.TLD
server {
listen 443 ssl;
server_name ANOTHER-SERVICE.YOUR-HOME.DYNDNS.TLD;
access_log /var/log/nginx/ANOTHER-SERVICE.log combined;
auth_basic "ANOTHER-SERVICE";
auth_basic_user_file /etc/nginx/htpasswd; BRAUCHE ICH DEN ABSCHNITT ÜBERHAUPT ??
include /etc/nginx/include.d/common;
location / {
proxy_pass http://192.168.16.6/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
# /etc/nginx/sites-enabled/your-home <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ??
just create a symlink in `/etc/nginx/sites-enabled/` that points to your config:
`sudo ln -s /etc/nginx/sites-enabled/your-home /etc/nginx/sites-available/your-home`
# Sitemap
You can create a Sitemap at /var/www/sitemap/index.html to give a nice overview of your services
```
<!doctype html>
<html>
<head>
<title>YOU-HOME</title>
</head>
<body>
<ul>
<li><a href="https://alexa.YOUR-HOME.TLD/">Alexa</a></li> <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ??
<li><a href="https://ANOTHER-SERVICE.YOUR-HOME.DYNDNS.TLD/">Another Service</a></li>
</ul>
</body>
</html>
```
# User & Passwords
/etc/nginx/htpasswd
format is `user
assword`
generate passwords using `openssl passwd "YOUR-PASSWORD"`
# Let's Encrypt SSL Certificate
- download certbot from https://certbot.eff.org/
- create certificates: `sudo certbot certonly --webroot -w /var/www -d YOUR-HOME.DYNDNS.TLD -d ALEXA.YOUR-HOME.DYNDNS.TLD -d ANOTHER-SERVICE.YOUR-HOME.DYNDNS.TLD` <---------------- MUSS ICH YOUR-HOME DURCH ETWAS ERSETZEN ??
Vielleicht kann mir als NGINX Vollnoob, jemand aus der Patsche helfen.
Vielen dank Schonmal
Gruß Wolfi
Einen Kommentar schreiben:
-
Hallo nochmal,
mein Fehler, im Lambda war der Pfad falsch eingegeben (mit ') das geht natürlich nicht. Aber vielleicht vertut sich da ja nochmal jemand
Gruß Felix
Einen Kommentar schreiben:
-
Hallo Zusammen,
ich versuche gerade das Plugin aufzusetzen. Leiter scheitere ich an dem Nginx.
Wenn ich mein Lambda teste bekomme ich im Nginx diese Fehlermeldung
daraufhin beantwortet der Nginx selber den Request mitCode:client sent invalid request while reading client request line, client: 34.248.133.242, server: xxx.xxx.xxx, request: "POST '/' HTTP/1.1"
Wenn ich mit einem Browser den Link aufrufe, dann werde ich zum Plugin auf Port 9000 weitergeleitet.Code:HTTP/1.1 400 Bad Request
Meine Config sieht so aus
Der SSL Redirect funktioniert so nicht, sollte aber auch erstmal nicht relevant sein, da der Aufruf ja direkt über ssl erfolgt.Code:server { listen 8080 default_server; # redirect every requested $host (any, even invalid ones) to its SSL URL location / { return 301 https://$host$request_uri:8443; } # LetsEncrypt Endpoint location /.well-known { alias /var/www/nginx/.well-known; } } server { listen 8443 ssl default_server; access_log /var/log/nginx/sitemap.log combined; auth_basic xxx.xxx.xxx; auth_basic_user_file /etc/nginx/htpasswd; include /etc/nginx/conf.d/common; #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; location / { root /var/www/nginx; index index.html; } } # Alexa server { listen 8443 ssl; server_name xxx.xxx.xxx; access_log /var/log/nginx/alexa.log combined; error_log /var/log/nginx/alexa.err debug; auth_basic "Alexa"; auth_basic_user_file /etc/nginx/htpasswd.alexa; include /etc/nginx/conf.d/common; location / { proxy_pass http://192.168.178.2:9000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Hat jemand vielleicht einen Tip für mich. Ist der Test über die Lambda Console überhaut möglich?
Gruß Felix
Einen Kommentar schreiben:
-
Also wie bereits gesagt: ansich kann man das an der version erkennen, was aber nicht zwangsläufig heißen muss, dass es mit einer niedrigeren nicht geht ;-) oft ist es halt nur durch den entwickler nicht getestet.. einige plugins (wie das sqlite im dev) habe ich aber absichtlich angehoben, weil hier abhängigkeiten sind
Einen Kommentar schreiben:
-
Hallo,
vielen Dank für eure Hilfe!
Also: Meine Frage bezog sich darauf, herauszufinden, welche Version von sh.py für das Plugin nötig ist. Ich wollte nicht implizieren, dass das Plugin mit der aktuellen DEV Version nicht funktioniert!
Mein Problem konnte ich in der Kürze der mir zugestandenen Zeit (;-)) nicht debuggen. Daher die Frage. Mittlerweile habe ich das Problem aber gefunden. Es lag an meinem Docker Container in dem sh.py steckt. So ganz klar ist mir nicht, warum mein neuer Container nicht lief, aber es lag eindeutig daran.
Jetzt läuft alles wieder mit der aktuellen DEV Version (von gestern).
Gruß,
Hendrik
Einen Kommentar schreiben:
-


Einen Kommentar schreiben: