Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon Alexa Plugin

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

  • AndreK
    antwortet
    Hallo das Plugin ist nun auf Github verfügbar - Alexa4PayloadV3 -

    Für die ersten die Testen wäre es gut das Plugin umzustellen aber noch nicht den Skill, es sollte alles wie gewohnt weiter funktionieren ;-)

    Gruss Andre

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    OK, das war der Link auf ganze Inhaltsverzeichnis, hier "nur" die neuen Controller : Amazon

    Beim jeweiligen Controller gibt es dann die "directives", das sind die Funktionen die der jeweilge Controller kann.

    Bin gerade dran eine Version für den Upload vorzubereiten. Wo und Wie folgt noch.

    Gruss Andre

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Zitat von AndreK;n1274013
    Die "Neuen Features" gibt es hier : [URL="https://developer.amazon.com/docs/device-apis/message-guide.html"
    Amazon[/URL]
    Da sind aber neue und alte und ich muss auch ehrlich sagen, dass das zu hoch für mich ist.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • psilo
    antwortet
    AndreK machst du einen pr? wuerde den code gerne testen und in den dev branch packen

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Bin gerade dabei den GitHub Account einzurichten.

    Die "Neuen Features" gibt es hier : Amazon

    Die Motivation war die Rolladen mit "öffne" / "schliesse" zu bedienen. Das funktioniert aber auch unter V3 nicht -
    Aber, einmal begonnen kann man ja auch fertig stellen.
    Ich habe dann bis auf den ThermostatController die bereits vorhandenen Funktionen eingebaut.
    Ich persönlich benötige kurzfristig noch den "CameraStreamController", diesen werde ich als nächstes einbauen.



    Ich werde das ganze vor der Online-Stellung nochmals kurz überarbeiten.
    Ich denke ich kann morgen am frühen Abend eine Version hochladen.

    Für die, die Lust haben, werde ich eine kurze Doku machen wie weitere "Capabilities" eingebaut werden können.

    Gruss Andre
    Zuletzt geändert von AndreK; 07.10.2018, 15:21.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Wow, was für ein Einstieg ins Forum :-)

    Wo finde ich denn, was in V3 neu ist?

    Hast du einen Github Account in dem du das Plugin bereitstellen kannst?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Salf
    antwortet
    Ich würde es gerne testen.

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Alexa Payload V3 - It´s done.
    Hallo,

    vielen Dank an Hotzen für die Entwicklung des Alexa-Plugins und alle anderen die das Thema supporten.
    Ich habe das ursprüngliche Alexa-Plugin um die Funktionen für Payload V3 erweitert.
    Das Plugin kann nun Payload V2 und Payload V3.
    Es sollte für jeden möglich sein umzusteigen auch wenn er die Payload Version 3 Funktionen nicht nutzen möchte.

    Aktuell sind folgende "Capabilities" implementiert :

    -PowerController
    -PercentageController
    -BrightnessController
    -LockController

    die ReportState Funktionen sind für obige "Capabilities" eingebaut.

    Es fehlt das proaktive Senden von Änderungen (wer will das ?)

    How it works :
    neues Plugin mit Funktionen für Payload V3
    die Lambda bei Amazon und alles andere bei Amazon kann unverändert weiter benutzt werden. Es muss der Skill auf Payload V3 bei Amazon umgestellt werden,
    In den Items der Smarthome-Items müssen lediglich die neuen Actions hinterlegt werden.

    Dateien in Verzeichnis \usr\local\smarthome\plugins\alexa4payload3 kopieren
    plugin in plugin.yaml eintragen

    alexa4payload3:
    class_name: Alexa4P3
    class_path: plugins.alexa4p3
    service_port: 9000

    Port natürlich sowie er bisher war.

    Das alte Plugin kann deaktiviert werden.

    Payload V2 : turnOn --- Payload V3 : TurnOn (siehe Amazon Doku, die Capabilities sind 1:1 umgesetzt)

    Die Actions sind unterschiedlich nach Groß/Kleinschreibung.
    Bei meinen Tests funktioniert soweit alles. Auch die Alexa-App bereitet keine Probleme.

    Wenn mir jemand mitteilt wo ich das Plugin online stellen kann würde ich das gerne tun.
    Eventuell gibt es noch jemaden der bereit ist das Plugin zu testen.

    Someone interested ?
    Zuletzt geändert von AndreK; 06.10.2018, 20:51.

    Einen Kommentar schreiben:


  • Salf
    antwortet
    So, lange rumgespielt mit Docker-Compose. Funktioniert nun einwandfrei auf meiner Synology.

    Für alle die es interessiert (ich hoffe es ist soweit komplett):

    1. Alexa Konfigurationen (AWS, usw.) entsprechend der Anleitung ausführen
    2. Domain Alias (z.B. xyz.synology.me) und Letsencrypt über Boardmittel von Synology erstellen
    # syno Speicherort: /usr/syno/etc/certificate/_archive/xxxx kopiert nach volume1
    3. Erweiterung der Plugin YAML:

    Code:
    alexa:
       class_name: Alexa
       class_path: plugins.alexa
       service_host: 0.0.0.0
       service_port: 9000
    4. docker-compose.yml Erweiterung von henfri (habe alle wichtigen Dateien zum Edit auf mein Volume gelegt, der Rest ist Standard)

    --> smarthome-ng um Port " - "9000:9000" erweitert und:

    Code:
    nginx:
      image: nginx:latest
      container_name: smarthome_nginx
      net: "host"
      volumes:
      - /volume1/smarthome/nginx/nginx.conf:/etc/nginx/nginx.conf
      - /volume1/smarthome/nginx/alexa.conf:/etc/nginx/sites-available/alexa.conf
      - /volume1/smarthome/nginx/alexa.conf:/etc/nginx/sites-enabled/alexa.conf
      - /volume1/smarthome/nginx/.htpasswd:/etc/nginx/.htpasswd
      - /volume1/smarthome/nginx/letsencrypt/fullchain.pem:/usr/local/smarthome/letsencrypt/fullchain.pem
      - /volume1/smarthome/nginx/letsencrypt/privkey.pem:/usr/local/smarthome/letsencrypt/privkey.pem
      - /volume1/smarthome/nginx/alexa.log:/var/log/nginx/alexa.log
      - /volume1/smarthome/nginx/alexa.err:/var/log/nginx/alexa.err
      ports:
      - 8090:8090
    5. Mittels dem folgenden Befehl die IP Adresse des smarthome_ng Containers auslesen. (wird für punkt 6 gebraucht)

    Code:
    docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container_id>
    6. Meine Alexa.conf

    Code:
    server {
        listen 8090 ssl;
        listen [::]:8090;
    
        server_name <yourdomainalias>.synology.me;
    
        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;
        ssl_certificate /usr/local/smarthome/letsencrypt/fullchain.pem;
        ssl_certificate_key /usr/local/smarthome/letsencrypt/privkey.pem;
    
        location / {
            proxy_set_header        Host                $http_host;
            proxy_set_header        X-Real-IP           $remote_addr;
            proxy_set_header        X-Forwarded-For     $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto   $scheme;
            proxy_intercept_errors  on;
            proxy_http_version      1.1;
    
            proxy_pass http://<deineip>:9000;
    
        }
    
    }
    Sofern noch Fehler auftreten dann sollten es nur Schreibberechtigungen sein, ich habe alles die 777 gegeben. Hart aber läuft

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Habe alles nach Anleitung gemacht.
    Heute würde ich vielleicht mal Traefik als reverse proxy ausprobieren. Das ist gut mit Docker integriert.

    Einen Kommentar schreiben:


  • Salf
    antwortet
    Hi,

    vor kurzem hatte ich alles komplett als root auf der Synology eingerichtet, nun der Umstieg auf Docker. Ich habe den Docker Container von henfri im Einsatz.

    Könnte mir jemand hier ein paar Tipps geben wie ich nun am besten die NGINX configs mache.

    Soll ich die wie configs wie vorher in der DSM einrichten (also Letsencrypt und reverse proxy) und den User händisch (siehe Beitrag #77, Seite 6).
    oder
    Gibt es mit Docker eine geschicktere Lösung?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Moin,

    ja. Aber warum wäre die Frage...
    Habe es aber nun gefunden:
    Code:
    2018-09-22  13:27:08 DEBUG    alexa        Alexa: validating device Till_Jalousie
    2018-09-22  13:27:08 ERROR    alexa        Alexa-Device Till_Jalousie: empty name
    Wäre schön, wenn dieser Fehler nicht zu einem nicht mehr funktionieren aller Items führen würde.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • psilo
    antwortet
    https://httpstatuses.com/499

    evtl ein timeout?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich habe seit einigen Tagen das Problem, dass Alexa meldet, dass smarthome nicht reagiert.
    Ich habe jetzt folgendes getestet:
    -Dyndns funktioniert
    -Im Web-Interface von Amazon finde ich keinen Fehler
    -Aufruf meiner dyndns-adresse gibt mir eine Abfrage von User uns Pass. Mit den Daten, die ich meiner Lambda-Funktion übergeben habe bekomme ich Zugriff
    -Ich bekomme dann aber einen Gateway-Timeout
    -Rufe ich telnet localhost 9010 auf, so baut sich eine Verbindung auf
    -Rufe ich einen Alexa-Sprachbefehl auf, so erhalte ich diese Meldung im nginx-log
    Code:
    54.246.139.197 - henfri [18/Sep/2018:23:25:52 +0200] "POST / HTTP/1.1" 499 0 "-" "-"
    Woran kann es noch liegen?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • mscustom
    antwortet
    Vielen Dank an Alle hier im Forum und in diesem Thread!
    Ich bin die letzten 2 Nächte ebenfalls durch die Alexa-Hell gegangen. Aber nun läufts!

    Jetzt noch eine Frage:
    Man stelle sich vor, es ist Nachts, die Jalousien/Rolläden sind herunter gefahren und einige der Fenster auf "kipp".
    Wer nun weiß, mit welchem Befehl er meine "Alexa" triggern soll, könnte nun schwupps-di-wupps die Rollos aufmachen.

    Jemand eine Idee?
    Bisher in meinem Kopf: Ein Sperrobjekt in den KNX-Aktoren für die Rollos erstellen und dann ein weiteres "Item" anlegen, dass auf diese GA sendet.
    >>> "Einhornpups an" oder so etwas?

    LG
    Martin

    Einen Kommentar schreiben:

Lädt...
X