Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Alexa Smarthome Skill (Payload Version 3)

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

  • lordofchaos
    antwortet
    Zitat von gspsteve Beitrag anzeigen
    jonofe Danke noch für den Tipp mit dem auskommentieren der Validierung, jetzt wird das Device erkannt. Jetzt muss ich mir nur noch ansehen, was hier genau schief läuft.

    Danke
    Bei dir kommt der Fehler aber später richtig? Ich habe das Problem das ich das Skill bei Amazon nicht aktiviert bekomme. Bei dir handelt es sich dabei in der Logik von edomi?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wenn /edomi in deinem Reverseproxy auf https://edomi-ip/admin/lbs/alexa verweist, dann ist das richtig.
    Log ist in /usr/local/edomi/www/data/log und ja, da müsste etwas erscheinen, wenn die Konfiguration auf Seiten Alexa korrekt ist.

    Einen Kommentar schreiben:


  • lordofchaos
    antwortet
    Hallo

    hab mir heute mal nen halben Tag frei genommen um das doch einzurichten

    Zunächst die Anleitung hat sich am Anfang etwas wieder verändert. "Security Profile" ist nun unter Einstellungen zu finden.
    Auch habe ich leider nicht gefunden wo ich "Consent Privacy Notice URL" angeben konnte oder das Logo hier.
    Bildschirmfoto zu 2018-12-06 15-47-01.png

    Bin jetzt dabei den Skill zu aktivieren und bekomme hier leider folgende Fehlermeldung.

    Bildschirmfoto zu 2018-12-06 20-29-37.png
    Zitat von jonofe Beitrag anzeigen

    Der Fehler muss schon davor liegen, denn offensichtlich kann das Token nicht validiert werden. Entweder du hast gar keinen Internetzugriff von diesem Skript aus oder der Aufruf ist schon fehlerhaft. Um den Fehler einzugrenzen benötigt man das Log ab "Received (JSON) Event from alexa@amazon"
    Wo finde ich den das log, falls dies bei mir auch weiter hilft?

    Das einzige was mir noch komisch vor kommt ist das ich bei der Lamda Funktion als URL dies habe

    Code:
    url = 'https://DYNDNS/edomi/edomi-smarthome-skill-PLv3.php'
    die Datei aber unter folgendem Verzeichnis liegt
    Code:
    /usr/local/edomi/www/admin/lbs/alexa
    ist das richtig? Oder Verwechsle ich da was?

    Ich habe bei mir noch den Custum Skill laufen und der Funktioniert auch.

    Danke für Eure Mühe

    Lord-of-Chaos

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von lordofchaos Beitrag anzeigen
    Oder doch eher bei Seite 14
    Es sollte reichen, wenn du bei Kapitel 4 startest, denn Kapitel 3 macht lediglich die Aktivierung von SSL im EDOMI Webserver und das Anlegen der Verzeichnisse. Dies sollte bei erfolgreichem Einsatz von Custom oder Smarthome PLv2 Skill schon erfolgreich gemacht worden sein.

    Zitat von lordofchaos Beitrag anzeigen
    geht später der Custom Skill auch noch oder nur noch dieser Smarthome Skill?
    Ja.

    Zitat von lordofchaos Beitrag anzeigen
    Mache ich hier was in der Anleitung falsch geht der Custom Skill auch nicht mehr.
    Diese Frage kann man nicht mit ja oder nein beantworten. Es hängt davon ab was du falsch machst.

    Einen Kommentar schreiben:


  • lordofchaos
    antwortet
    Hallo,

    so hab nun alle Seiten hier mal durchgelesen.
    In der aktuellen Anleitung steht
    Code:
    Wenn vorher schon der Custom Skill LBS eingesetzt wurde, kann das Kapitel zum Raspberry Pi (u. a. Reverse Proxy)
    übersprungen werden.
    Heist das nun ich muss bei der Anleitung auf Seite 13
    Code:
    3 EDOMI-Server konfigurieren
    beginnen. Da hatte ich doch schon damals bei dem Custom Skill was geändert.
    Oder doch eher bei Seite 14
    Code:
    4 Alexa Smarthome Skill anlegen und konfigurieren
    Frage geht später der Custom Skill auch noch oder nur noch dieser Smarthome Skill? Mache ich hier was in der Anleitung falsch geht der Custom Skill auch nicht mehr. Möchte dies nur wissen auf was für weitere Probleme (Frau) ich mich einstellen kann/muss wenn ich was falsch mache
    Daher auch meine genaue Frage wo ich genau ansetzen muss nun bei der Anleitung

    Danke und Echt Super Arbeit

    Lord-of-Chaos

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    „Require all granted“ hab ich nun wieder aktiviert.

    Zugriff intern auf https://ip.des.raspberry funktioniert nicht. Auf http://ip.des.raspberry geht.
    damit erklärt sich, warum es auch von außen nicht geht. Die Portweiterleitung ist ja 1:1 wie bei port 80, nur eben mit 443

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wenn https intern geht aber nicht extern, dann liegt es an der Weiterleitung des Ports 443.

    Du musst "Require all granted" verwenden.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    So ich hab Apache einmal deinstalliert und dann wieder installiert

    Code:
    apt-get remove --purge apache2
    apt -y install apache2
    die Apache Seite ist intern und extern (über Port 80) erreichbar. Allerdings nicht von extern über https

    Meine „000-default-le-ssl.conf“ sieht wie folgt aus.

    Code:
    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    
    ServerName ddnsvon.goip.de
    ServerAdmin xxx@yyyyy.de
    DocumentRoot /var/www/html
    <Location />
    <RequireAll>
    # Erlaubt Zugriff von überall
    # Require all granted
    # Folgende Zeile erlaubt Zugriff aus dem eigenen Netzwerk
    # (192.168.0.0/24) und von Amazon-Alexa (54.240.197.0/24)
    Require IP 10.0.0.0/24 54.240.197.0/24
        </RequireAll>
    </Location>
    SSLEngine on
    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
    ProxyPass /edomi https://10.0.20.10/admin/lbs/alexa
    ProxyPassReverse /edomi https://10.0.20.10/admin/lbs/alexaU
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLCertificateFile /etc/letsencrypt/live/ddnsvon.goip.de/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/ddnsvon.goip.de/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    
    </VirtualHost>
    </IfModule>
    Ich habe dann auch nochmal „Require all granted“ aktiviert und die IPS von Amazon und meinem Netz auskommentiert. Leider auch ohne Erfolg.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Ok dank dir. Ich setz dort nochmal an.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Mit dem Fehler kann der apache gar nicht starten. Da musst du das config file korrigieren. Bei der Installation war es ein phpinfo auf dem reverse proxy nicht auf den edomi Server. Den Fehler hast du vermutlich danach eingebaut.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Ja hab alles nach Anleitung gemacht.

    Aber in der Tat scheint was beim Reverseproxy nicht zu stimmen. Ich kann Apache nicht neustarten, da kommt nach folgenden Fehlermeldung

    Ich bilde mir aber ein, dass ich beim einrichten des RP die Seiten https://<DYNDNS_NAME>/ und https://<DYNDNS_NAME>/phpinfo.php
    aufrufen konnte.


    Code:
    root@raspberrypi:/home/pi# service apache2 restart
    Job for apache2.service failed because the control process exited with error code.
    See "systemctl status apache2.service" and "journalctl -xe" for details.
    und darin steht wiederum
    Code:
    root@raspberrypi:/home/pi# systemctl status apache2.service
    [COLOR=#FF0000][B]●[/B][/COLOR] apache2.service - The Apache HTTP Server
       Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
       Active: [COLOR=#FF0000][B]failed[/B][/COLOR] (Result: exit-code) since Sun 2018-12-02 16:47:05 GMT; 2min 53s ago
      Process: 10741 ExecStart=/usr/sbin/apachectl start [COLOR=#FF0000][B](code=exited, status=1/FAILURE)[/B][/COLOR]
    Dec 02 16:47:05 raspberrypi systemd[1]: Starting The Apache HTTP Server...
    Dec 02 16:47:05 raspberrypi apachectl[10741]: AH00526: Syntax error on line 13 of /etc/apache2/sites-enabled/000-default-le-ssl.conf:
    Dec 02 16:47:05 raspberrypi apachectl[10741]: Unknown Authz provider: IP
    Dec 02 16:47:05 raspberrypi apachectl[10741]: Action 'start' failed.
    Dec 02 16:47:05 raspberrypi apachectl[10741]: The Apache error log may have more information.
    Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Control process exited, code=exited status=1[/B]
    Dec 02 16:47:05 raspberrypi systemd[1]: [COLOR=#FF0000][B]Failed to start The Apache HTTP Server.[/B][/COLOR]
    Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Unit entered failed state.[/B]
    Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Failed with result 'exit-code'.[/B]
    root@raspberrypi:/home/pi#
    Code:
    Dec 02 16:45:55 raspberrypi sudo[10699]: [B]      pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/bash[/B]
    Dec 02 16:45:55 raspberrypi sudo[10699]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
    Dec 02 16:47:05 raspberrypi systemd[1]: Starting The Apache HTTP Server...
    -- Subject: Unit apache2.service has begun start-up
    -- Defined-By: systemd
    -- Support: https://www.debian.org/support
    --
    -- Unit apache2.service has begun starting up.
    Dec 02 16:47:05 raspberrypi apachectl[10741]: AH00526: Syntax error on line 13 of /etc/apache2/sites-enabled/000-default-le-ssl.conf:
    Dec 02 16:47:05 raspberrypi apachectl[10741]: Unknown Authz provider: IP
    Dec 02 16:47:05 raspberrypi apachectl[10741]: Action 'start' failed.
    Dec 02 16:47:05 raspberrypi apachectl[10741]: The Apache error log may have more information.
    Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Control process exited, code=exited status=1[/B]
    Dec 02 16:47:05 raspberrypi systemd[1]: [COLOR=#FF0000][B]Failed to start The Apache HTTP Server.[/B][/COLOR]
    -- Subject: Unit apache2.service has failed
    -- Defined-By: systemd
    -- Support: https://www.debian.org/support
    --
    -- Unit apache2.service has failed.
    --
    -- The result is failed.
    Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Unit entered failed state.[/B]
    Dec 02 16:47:05 raspberrypi systemd[1]: [B]apache2.service: Failed with result 'exit-code'.[/B]
    Zuletzt geändert von shortyle; 02.12.2018, 17:56.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wenn du nach Anleitung vorgegangen bist, dann muss da /edomi/ stehen:

    ProxyPass /edomi https://<IP_EDOMI_SERVER>/admin/lbs/alexa
    ProxyPassReverse /edomi https://<IP_EDOMI_SERVER>/admin/lbs/alexa
    Mach mal auf deinem EDOMI Server:

    Code:
    sudo echo "<?php phpinfo(); ?>" > /usr/local/edomi/www/admin/lbs/alexa/phpinfo.php
    danach müsstest du z.B. folgenden Link von extern aufrufen können:

    Code:
    https://<DYNDNS_NAME>/edomi/phpinfo.php
    Wenn das nicht funktioniert, dann ist dein ReverseProxy vermutlich das Problem.
    Verwendest du apache oder nginx? Neugestartet hat du den Webserver nach den Änderungen, oder?

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Du meinst diese URL aus der Anleitung (natürlich angepasst auf meine DDNS)
    Bildschirmfoto 2018-12-02 um 16.41.57.png
    muss dort zwischen die ddns Adresse und "edomi-smarthome-skill-PLv3.php" eigentlich /edomi/ oder /alexa-dev/ stehen?

    Aber beide Varianten führen nicht zum erfolgt und die Seite kann nicht angezeigt werden...dementsprechend auch kein Eintrag im Log.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Am besten mal mit der Prüfung der URL in der Lambda Funktion beginnen. Diese URL solltest du auch von außen aufrufen können und es sollte etwas im Log erscheinen. Wenn das funktioniert, dann ist das Problem vermutlich in der Verbindung von Alexa Skill zur Lambda Funktion.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Ok, dann beginne ich dort zu suchen und wenn alles nichts hilft, dann mache ich diesen Teil einfach nochmal.

    Einen Kommentar schreiben:

Lädt...
X