Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon Alexa Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • hotzen
    antwortet
    das plugin unterstützt jetzt übrigens auch alias-names, hier der pull request: https://github.com/smarthomeNG/plugins/pull/47

    hier der fork, falls ihr auf den PR nicht warten wollt: https://github.com/hotzen/smarthome-...e/master/alexa

    HF

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    musst du mal schauen ob die smartVisu per Websocket o.ä. sich verbinden will.
    Das hier brauchte ich bspw. für callidomus:

    Code:
    # Callidomus
    server {
        listen 443 ssl;
        server_name callidomus.xx
        access_log /var/log/nginx/callidomus.log combined;
        include /etc/nginx/include.d/ssl;
    
        location /websocket {
            auth_basic "Callidomus";
            auth_basic_user_file /etc/nginx/htpasswd;
    
            proxy_pass http://xx/websocket;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    
        location / {
            auth_basic "Callidomus";
            auth_basic_user_file /etc/nginx/htpasswd;
    
            proxy_pass http://xx/;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    Einen Kommentar schreiben:


  • malte
    antwortet
    Sorry, so einfach ist es dann - bei mir - doch nicht. Ich habe einen weiteren Host (Nginx Port 443 -> SmartVISU Port 80) im Nginx eingerichtet. Wenn ich die URL aufrufe, lande ich auf der SmartVISU-Startseite. Aber die Visu ist offline: ich kann nichts schalten, sehe keine Temperaturwerte etc.

    Ich muss doch vermutlich auch die Einstellungen in der smartVISU unter Configuration -> I/O-Connection verändern? Da kann ich ja nicht meine 192.168.2.222 drin stehen lassen?! Mach ich für die SmarthomeNG-Instanz einen weiteren Nginx-Host? Wie wären da die Parameter?

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    Klar, einfach einen weiteren host in nginx einrichten und auf einen Port deiner Wahl upstreamen lassen.

    Einen Kommentar schreiben:


  • malte
    antwortet
    Ich hatte ziemlich exakt die gleichen Probleme wie Roho0303 Nach der erneuten Konfiguration des Amazon-Gedöns und der Umstellung auf Englisch lief alles.

    Macht mir fast Angst, wie cool das klappt! Danke hotzen & Co!

    Kann ich über eine NGINX-Instanz eigentlich auch auf mein SmarthomeNG & smartVISU zugreifen? Ich komme soweit, dass ich auf die Visualisierung komme, aber die Verbindung zum SmarthomeNG bekomme ich nicht hin. Hat jemand ein HowTo?

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    Du kannst nginx hervorragend benutzen um subdomains auf Dienste in deinem Netz zu mappen.

    bei mir ist das setup

    *.foo.tld CNAME auf myfritz dyndns
    fritzbox forwarded 80/443 auf nginx
    nginx checkt subdomain wie alexa.foo.tld und forwarded an smarthome.py alexa-plugin

    andere subdomains und keine subdomain für deine jetzige Nutzung von 80/443 natürlich ohne weiteres möglich

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Zitat von hotzen Beitrag anzeigen
    und du musst port 80 vom router auch forwarden! denn der letsencrypt kommt fuer die challenge/response per HTTP (noch ohne SSL) rein!
    Das könnte evtl. der Grund sein...die Frage ist nur wie ich dann Zertifikat für xxx.yyy.de bekommen habe.... nagut, ich werde mal testen. Evtl. gehe ich ein anderer Weg: xxx.yyy.de/alexa.... dann braucht man kein extra Zertifikat.

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    und du musst port 80 vom router auch forwarden! denn der letsencrypt kommt fuer die challenge/response per HTTP (noch ohne SSL) rein!

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    und deine doman wird korrekt auf die ip des routers aufgeloest? ich brauche dafuer wildcard-forwarding a la
    CNAME *.xxx.yyy.de => DynDNS bzw. Router

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Hey Leute,
    ich brauche eure Hilfe:
    mal angenommen mein Domain ist: xxx.yyy.de
    Dafür konnte ich Zertifikat erstellen und beim Aufruf kommt auch nginx-Startseite.
    Alexa-Plugin läuft auf 192.168.xx.51:9000 (keine Fehler im sh.py log)
    nginx auf 192.168.xx.56
    mein Router leitet Port 443 an 192.168.xx.56:443 weiter

    wenn ich versuche
    Code:
    sudo certbot certonly --webroot -w /var/www -d alexa.xxx.yyy.de
    auszuführen kommt:
    Code:
     Detail: Could not connect to alexa.xxx.yyy.de
    /etc/nginx/sites-available/your-home

    Code:
    # 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;
        }
    }
    
    # Alexa
    server {
        listen 443 ssl;
        server_name alexa.xxx.yyy.de;
        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.xx.51: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;
        }
    }
    nach mehrmaligen probieren habe jetzt auch noch das am Hals:
    Code:
    An unexpected error occurred:
    There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.
    Please see the logfiles in /var/log/letsencrypt for more details.
    und durch diese Konfiguration kann ich die UI von meinem OpenMediaVault nicht mehr aufrufen der auch auf 192.168.xx.56:988 läuft
    P.S. die Anleitung könnte ein bisschen Anfängerfreundlicher zu sein
    P.P.S ich glaube es muss so heißen (enabled und available vertauscht)
    Code:
    sudo ln -s /etc/nginx/sites-available/your-home /etc/nginx/sites-enabled/your-home
    Zuletzt geändert von Eugenius; 06.05.2017, 21:16.

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    noch offene punkte:
    - aliase, mehrere namen fuer das gleiche device (spammt dann leider die alexa-app zu)
    - knx szenen support (jemand ne idee wie welchem sprachbefehl man das szenen-speichern umsetzen könnte?
    - Amazon SQS: befehle aus der Amazon-Queue pollen - Ersetzt den HTTPS-Endpoint, nginx, SSL-terminierung komplett

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    sauber

    Einen Kommentar schreiben:


  • Roho0303
    antwortet
    Unglaublich! Ich habs!

    Also, den ganzen Amazon Jungle nochmal durchgemacht und plötzlich ging es....

    -> was ich anders gemacht habe: Den Skill nicht in der Sprache Deutsch sonder Englisch USA angelegt -> ob es daran lag, keine Ahnung!

    Was mir noch aufgefallen ist und noch in der Anleitung erwähnt werden sollte ist das die AWS Lambda Function Aktiviert werden muß, also im AWS Portal!

    1000 Dank für die Hilfe

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Hast du schon per Alexa-App nach Geräten suchen lassen?

    Edit: Ok, war ja die Ausgangsfrage. Den Halbsatz hab ich überlesen. Ignoriert mich

    Einen Kommentar schreiben:


  • Roho0303
    antwortet
    Ja.

    Ich habe mittlerweile auch auf die aktuelle DEV geupdatet. Kein Erfolög. ICh sehe den Skill aber keine Geräte...

    Einen Kommentar schreiben:

Lädt...
X